可能重複:
How does shovel (<<) operator work in Ruby Hashes?Rubykoans about_hashes.rb
苦苦尋找的,爲什麼這個工作方式是這樣的文件:
1 def test_default_value_is_the_same_object
2 hash = Hash.new([])
3
4 hash[:one] << "uno"
5 hash[:two] << "dos"
6
7 assert_equal ["uno", "dos"], hash[:one]
8 assert_equal ["uno", "dos"], hash[:two]
9 assert_equal ["uno", "dos"], hash[:three]
10
11 assert_equal true, hash[:one].object_id == hash[:two].object_id
12 end
我本來以爲「uno」將被分配給hash [:one]鍵,而hash [:two]將被分配給「dos」。我已經糾正它,以便它通過測試,但我不知道它爲什麼這樣操作。有人可能指出我錯過了什麼,或者指示我有關這方面的相關文件。謝謝。
我剛剛發現這個鏈接http://stackoverflow.com/questions/9343680/how-does-shovel-operator-work-in-ruby-hashes解釋一切,謝謝! – Tom