J'ai été en passant par Ruby Koans tutoriel de la série, quand je suis tombé sur ça en about_hashes.rb
:
def test_default_value_is_the_same_object
hash = Hash.new([])
hash[:one] << "uno"
hash[:two] << "dos"
assert_equal ["uno", "dos"], hash[:one]
assert_equal ["uno", "dos"], hash[:two]
assert_equal ["uno", "dos"], hash[:three]
assert_equal true, hash[:one].object_id == hash[:two].object_id
end
Les valeurs en assert_equals
, est effectivement ce que le tutoriel prévu. Mais je ne pouvais pas comprendre comment il y a une différence entre l'utilisation d' <<
de l'opérateur et de l' =
opérateur?
Mon espoir était que:
-
hash[:one]
serait["uno"]
-
hash[:two]
serait["dos"]
-
hash[:three]
serait[]
Quelqu'un peut-il expliquer pourquoi mon attente était mal?