2010-01-08 91 views

回答

7

如果(且僅當)foonilfalse,這將分配barfoo

編輯:或錯誤,謝謝@mopoke。

+0

或者如果foo是假的。 – mopoke 2010-01-08 03:02:11

2

分配barfoo除非foo是一個真值(未falsenil)。

+2

應該是:除非'foo'是真實的,否則truthy的意思是:不是'false'或'nil'。 – yfeldblum 2010-01-08 03:04:58

1

如果你使用它的一個實例變量,你可能希望避免它。那是因爲

@foo ||= bar 

如果@foo之前未初始化,可以發出警告。您可能需要使用取決於你是否要僅僅檢查,如果@foo被初始化,或者檢查是否有@foo感實性

@foo = bar unless defined?(@foo) 

@foo = bar unless (defined?(@foo) and @foo) 

(即不nilfalse) 。