我寫了一個函數,使相同的字符(但不是相同的序列)的文字成hash[key]
,關鍵是這些字的字符排序的字符串例如,hash_list["arst"] => ["rats""tars""star"]
。關於在紅寶石散列(當一個數組散列到一些關鍵字)的問題
但是,在我的代碼中的第8行可能做錯了什麼,當我puts word_list
,我得到一個{}
。
的名爲 「.txt」 文件中包含的單詞的多條線路,如:
alean
allow
away
be
behavior
...
...
我的代碼:
01 def findAnagrams()
02 word_list = Hash.new([]) # I set the default value here
03 # word_list.default = Array.new
04 File.open("/home/luchen/class/words.txt").each_line do |line|
05 word = line.chomp.strip.downcase
06 word_sort = word.chars.sort.join
07 # puts word+"------"+word_sort
08 word_list[word_sort].push(word)
09 # puts word_list[word_sort]
10 end
11 puts word_list.to_s
12 end
13
14 findAnagrams()
謝謝你的解釋! :) – lizlalala