Я пытаюсь исключить элементы из массива строк, используя array.select
.У меня есть этот метод:
def filter_out_other_bad_vals(array_of_strs, things_i_want)
array_of_strs = array_of_strs.select { |line| /"#{things_i_want}"/.match(line) }
end
Я хочу передать строку в качестве переменной things_i_want
.Но это не возвращает совпадений:
array = ["want_this", "do_not_want", "do_not_want","want_this", "want_this"]
pattern = 'want_this'
array = filter_out_other_bad_vals(array, pattern)
Возвращает пустой массив.Но если я жестко закодирую значение в выражении соответствия, я получу то, что хочу.
def filter_out_other_bad_vals(array_of_strs, things_i_want)
array_of_strs = array_of_strs.select { |line| /want_this/.match(line) }
end
Как поместить переменную в регулярное выражение?Что я делаю неправильно?
Я мог бы просто просмотреть массив, проверить каждый элемент, а затем сохранить значение в другом массиве, но это не очень похоже на ruby, не так ли?