値を配列としてハッシュを作成しようとしています。これらの配列に要素を追加していますが、何らかの理由で、実行後にハッシュが空になります。理由はまったくわかりません。これが私のコードです
def function(words)
hash = Hash.new([]) # default value of empty list
words.each do |word|
sorted = word.chars.sort.join # sort the string
hash[sorted] << word
## hash becomes empty here
end
return hash
end
puts function ['cars', 'for', 'potatoes', 'racs', 'four']
私はRubyが初めてで、ハッシュがそれ自体を空にする理由がわかりません。Python で同じロジックを持つ同様のアルゴリズムを作成しましたが、まったく問題なく動作します。助言がありますか?