Ruby выбрать имя файла из массива имен файлов - PullRequest
0 голосов
/ 13 июля 2020

У меня есть массив имен файлов в ruby. Я хочу выбрать имя файла, которое содержит строку c в нем

, например

array = ["/some/place/once.txt", "/some/place/two.txt","/some/place/three.txt"]

, и я хочу выбрать только имя файла, в котором есть слово "two"

, поэтому я хочу получить filename = array.select { |e| e.include? "two" }

, но по какой-то причине имя файла содержит все, что есть в массиве. Как заставить работать?

1 Ответ

1 голос
/ 13 июля 2020

Учитывая эти данные:

array = ["/some/place/once.txt", "/some/place/two.txt","/some/place/three.txt"]

Вы всегда можете найти все совпадающие записи с помощью grep и просто взять первую:

array.grep(/two/).first
# => ["/some/place/two.txt"]

Или вы всегда можете сканировать, используя find:

array.find { |s| s.include?('two') }
# => "/some/place/two.txt"

Использование select должно дать результат массива все совпадения , но в остальном идентичный. Ваше поведение невозможно воспроизвести.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...