Как получить строку из элемента массива, найденного с помощью .select без скобок в ruby? - PullRequest
0 голосов
/ 13 февраля 2019

Сейчас у меня большие трудности с поиском способа получить строку из элемента массива без скобок.

Я использую .select, чтобы найти конкретный элемент в массиве строк, который я использую, но когда я пытаюсь напечатать переменную, в которой сохраняю результат, он также сохраняет скобки,Я пробовал множество вещей, таких как использование .to_s и .join (''), но, к сожалению,

      found=file_arr.select {|str| str=~/\A#{find_x} #{y}/}
      if visited.include?("#{found}") == false
         #Do this
      end

То, что я хочу получить, это #String_here. Но вместо этого я получаю [\ "#String_here \ п \ "]

1 Ответ

0 голосов
/ 13 февраля 2019

Enumerable # select будет возвращать массив, содержащий все элементы перечисления, для которых данный блок возвращает истинное значение .

Enumerable # find будет возвращать первый, для которого блок не является ложным .

Так что в вашем случае вы можете использовать вместо этого поиск:

found = file_arr.find { |str| str =~ /\A#{find_x} #{y}/ }

Обратите внимание на вашусловие может быть более понятным с unless:

do_something unless visited.include?("#{found}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...