У меня есть небольшое приложение на языке ruby, которое я написал, это поиск анаграмм Это для изучения рубина, но я хотел бы выложить его в Интернете для личного использования. У меня есть некоторый опыт работы с Rails, и многие здесь рекомендуют Синатру. У меня все хорошо, но я не могу найти никакой информации о том, как использовать текстовый файл вместо базы данных.
Приложение довольно простое, проверяет текстовый файл списка слов, а затем находит все анаграммы. Я предполагал, что это должно быть довольно просто, но я застрял при импорте этого текстового файла в Rails (или Sinatra, если я выберу этот путь). В проекте Rails я поместил текстовый файл в каталог lib
.
К сожалению, хотя путь в Rails кажется правильным, я получаю сообщение об ошибке:
no such file to load -- /Users/court/Sites/cvtest/lib/english.txt
(cvtest
- название проекта рельсов)
Вот код. Он прекрасно работает сам по себе:
file_path = '/Users/court/Sites/anagram/dictionary/english.txt'
input_string = gets.chomp
# validate input to list
if File.foreach(file_path) {|x| break x if x.chomp == input_string}
#break down the word
word = input_string.split(//).sort
# match word
anagrams = IO.readlines(file_path).partition{
|line| line.strip!
(line.size == word.size && line.split(//).sort == word)
}[0]
#list all words except the original
anagrams.each{ |matched_word| puts matched_word unless matched_word == input_string }
#display error if
else
puts "This word cannot be found in the dictionary"
end