なぜこれが機能するのかについてのドキュメントを見つけるのに苦労しています:
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」を受け取ると思っていたでしょう。テストに合格するように修正しましたが、なぜこのように動作するのかわかりません。誰かが私が欠けているものを指摘したり、この特定の側面に関する関連ドキュメントに誘導したりできますか? ありがとう。