進行我試圖讓用戶將其在用逗號分隔的字母列表,並找出可以從這些信件作出了哪些單詞。該程序使用單詞列表與輸入字母進行比較。檢查該列表中的話可以根據用戶輸入的字母
這是我試過的代碼。我嘗試了幾種不同的方式,這是我最不成功的試驗。
#import list, get user input and separate each letter
list_of_words = IO.foreach("referencewords.txt")
letter_choice = gets.chomp
letter_choice = letter_choice.split(/,*/)
#make new blank array for possible words
final_word_array = []
list_of_words.each do |word|
final_word_array.push(word) if letter_choice.include?(word)
end
#show possible words to the user
final_word_array.each do |word|
puts word
end
當我運行這段代碼,我什麼也沒得到我的final_word_array
。我的問題是,爲什麼我沒有在我的'final_word_array'中找到可能的單詞列表?
什麼是你的問題? – sawa
檢查擴展IO的Ruby文件類,特別是File.open(http://ruby-doc.org/core-2.1.4/File。html#method-c-open),然後從IO繼承each_line方法。 – AndyV
您的電話'letter_choice.split'錯誤。你需要使用像'letter_choice.split(/,\ s * /)'這樣的東西,它在一個逗號後面加上零個或多個空格字符。您當前的正則表達式會打破零個或多個逗號,從而得到如下結果:'letter_choice =「a,b,c,d」; letter_choice = letter_choice.split(/,* /)'=>'[「a」,「」,「b」,「」,「c」,「」,「d」]'。 – Linuxios