ruby - поиск и сопоставление файлов с регулярным выражением - PullRequest
1 голос
/ 22 марта 2012

У меня есть скрипт ruby, который позволяет мне ввести имя pdf-файла, который затем будет искать файл в папке и открывать его.За исключением того, что я должен быть довольно точным в отношении моего вклада.Например:

Enter the name of the pdf file you would like to open.
> Survival Manual

Приведенная выше строка открывает книгу, если файл назван точно так, как я его набрал, но допустим, я хочу просто набрать

> Survival

Это неоткрой его.Итак, у меня есть следующий код:

docs = Dir.entries("/Documents")     #=> ["Survival Manual.pdf", "Military Manual.pdf"]

input = gets.chomp                             #=> "Survival"

select_doc = docs.grep(Regexp.new(input))      #=> ["Survival Manual.pdf"]

system("open", "/Documents/#{select_doc[0]}") 

И последняя строка, наконец, открывает PDF.Этот код кажется запутанным, и я знаю, что это можно сделать намного лучше, и если да, то что-то мне не хватает?Мог ли я использовать лучшие методы?После нескольких попыток изменить этот код, казалось, что он только ухудшился.Ruby - отличный язык, я бы хотел, чтобы все было правильно, и, возможно, новички в ruby ​​(как и я) могут что-то извлечь из этого.Заранее спасибо.

1 Ответ

2 голосов
/ 22 марта 2012
input = gets.chomp.delete '/'
system('open', Dir["Documents/#{input}*.pdf"].first)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...