2011-12-15 8 views
8

Cuando se desea convertir un varible v en false cuando es nil/false y true lo contrario, hay una manera fácil de hacerlo:conversión de `` false` en las negativas

!!v 

Pero, ¿existe una forma fácil de convertir v en nil cuando es nil/false y conservar su valor de lo contrario?

Respuesta

18

Puede utilizar ||=:

a = 'hello' 
a ||= nil #=> "hello" 

a = true 
a ||= nil #=> true 

a = false 
a ||= nil #=> nil 

a = nil 
a ||= nil #=> nil 
+0

es también una solución en caso de que no quiero colocarlo en una variable? –

+0

Entonces solo puede usar '|| nil'. P.ej. 'falso || nil # => nil' – Mischa

Cuestiones relacionadas