yo estaba pasando por Ruby Koans tutorial series, cuando me encontré con esto en about_hashes.rb
:¿Cómo funciona el operador de pala (<<) en Ruby Hashes?
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
Los valores en assert_equals
, es en realidad lo que el tutorial de espera. Pero no pude entender cómo hay una diferencia entre usar el operador <<
y el operador =
?
Mi expectativa era que:
hash[:one]
habría["uno"]
hash[:two]
habría["dos"]
hash[:three]
habría[]
Puede alguien explicarme por qué mi expectativa era malo?
Gracioso, eso es exactamente lo que esperaba. Entonces, las montañas nuevamente eran simplemente montañas. –