제가 작성한 작은 루비 응용 프로그램이 있습니다.이 문서는 anagram searcher입니다. 루비를 배우기위한 것이지만 개인적인 용도로 온라인에 올려 놓고 싶습니다. 나는 Rails에 대한 경험이 있으며, 많은 분들이 Sinatra를 추천했습니다. 나도 괜찮지 만 데이터베이스 대신 텍스트 파일을 사용하는 방법에 대한 정보는 찾을 수 없습니다.작은 루비 응용 프로그램을 온라인에 저장하는 가장 좋은 방법은 무엇입니까?
응용 프로그램은 매우 간단하며 단어 목록의 텍스트 파일에 대해 유효성을 확인한 다음 모든 분석표를 찾습니다. 나는 이것이 아주 간단해야한다고 생각해 왔지만, 나는 그 텍스트 파일을 Rails (또는 그 방법을 선택하면 Sinatra)로 임포트 할 수 밖에 없다. Rails 프로젝트에서 나는 lib
디렉토리에 텍스트 파일을 놓았다.
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