Normalmente el operador === no se usa asi, esta
pensado para ser usado
por Ruby implicitamente en los case statements.
Totalmente. Por otro lado, en mi caso suelo utilizar
=== para comprobar que un objeto este generado a
partir de una clase especifica, o hereda de esa clase:
Es interesante que
Numeric === 2.3 => true
es lo mismo que
2.3.class.ancestors.include? Numeric => true
y, como comentabas, es lo mismo que
case 2.3
when Numeric then # something
end
Bueno, todo esto viene a que === puede ser usado fuera
del case, en general cuando tu case tiene una sola
condicion válida. Otro detalle, instance_of no es lo
mismo que === :
Oh!, Gracias Javier por la explicación , me funciona perfecto ahora,
me has ahorrado mucho tiempo
de todas formas traté de hacerlo como me dijiste así (condicion) ?
(si) : (no), pero siempre me daba ‘si’, haciendo unas pruebas en el
console de esto , (6…10===@ page.id) ? “si”:“no” , a esto otro
(6…10)===(@page.id) ? “si”:“no”, y asi si funciona
Un detalle mas.
Normalmente el operador === no se usa asi, esta pensado para ser usado
por Ruby implicitamente en los case statements.
Para preguntar pertenencia a un rango se puede usar por ejemplo include?
(6…10).include?(@page.id) ? “si” : “no”
– fxn
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.