En Java, ==
es el tipo de igualdad más fuerte (igualdad de puntero): a == b
siempre implica a.equals(b)
. Sin embargo, en Ruby, ==
es más débil que .equals?
:¿Qué hace == en Ruby?
ruby-1.9.2-rc2 > 17 == 17.0
=> true
ruby-1.9.2-rc2 > 17.equal?(17.0)
=> false
Entonces, ¿dónde puedo encontrar más información acerca ==
? ¿Qué tipo de controles debo esperar cuando comparo dos objetos con él?
parece que podrían haber elegido mejores nombres de métodos para eql? e igual? –
CLISP es peor: 'eq',' eql', 'equal',' equalp', y '='. Sin embargo, hay mejores operadores con nombre como 'string-equal' y' tree-equal'. –
OK, ¿entonces nunca debería usar '==' para comparar dos objetos? Pero incluso '5' es un objeto en Ruby ... entonces, ¿qué es seguro usar' == 'para comparar? Cuerdas y números, sin duda. ¿Qué hay de las matrices? Hashes? –