2011-12-15 1 views
8

Gdy chcesz przekonwertować varible v do false gdy jest nil/false i true inaczej, tam jest łatwym sposobem, aby to zrobić:Konwersja `` FALSE do zerowe

!!v 

Ale jest tam w łatwy sposób przekonwertować v na nil, gdy jest to nil/false i zachować jego wartość inaczej?

Odpowiedz

18

Można użyć ||=:

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

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

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

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

jest tam również rozwiązanie w przypadku nie chcę, aby umieścić ją w zmiennej? –

+0

Następnie możesz po prostu użyć '|| zero ". Na przykład. 'false || zero # => zero' – Mischa