6
A
回答
7
如果(且僅當)foo
是nil
或false
,這將分配bar
到foo
。
編輯:或錯誤,謝謝@mopoke。
2
分配bar
到foo
除非foo
是一個真值(未false
或nil
)。
+2
應該是:除非'foo'是真實的,否則truthy的意思是:不是'false'或'nil'。 – yfeldblum 2010-01-08 03:04:58
7
運算符|| =是表達式的簡寫形式:
x = x || 「默認」
算|| =可以被簡寫類似的代碼:
X = 「(一些回退值)」 如果x.nil?
來源:http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Operators
1
如果你使用它的一個實例變量,你可能希望避免它。那是因爲
@foo ||= bar
如果@foo
之前未初始化,可以發出警告。您可能需要使用取決於你是否要僅僅檢查,如果@foo被初始化,或者檢查是否有@foo感實性
@foo = bar unless defined?(@foo)
或
@foo = bar unless (defined?(@foo) and @foo)
(即不nil
或false
) 。
相關問題
- 1. 是什麼:upcase在Ruby中
- 2. 什麼是「:名稱」是指在Ruby中
- 3. ruby中的`hash`是什麼?
- 4. ruby中的run_once是什麼?
- 5. Ruby中的「p」是什麼?
- 6. 什麼是Ruby/Rails'hook'?
- 7. 在Ruby/Rails中,什麼是「Rails」?
- 8. 什麼不是「最驚喜」在Ruby中
- 9. 在Ruby中``[var_name]`是什麼意思?
- 10. __FILE__在Ruby中的含義是什麼?
- 11. 在Ruby中,array * string是什麼意思?
- 12. 在Ruby中,「接收器」是指什麼?
- 13. $$在Ruby中是什麼意思?
- 14. 在Ruby中,「scoped」是什麼意思?
- 15. 「do | |」是什麼意思?在Ruby中?
- 16. 什麼是在Ruby中實現
- 17. 在Ruby中=〜和/ \是什麼意思?
- 18. || =在Ruby中是什麼意思?
- 19. 是什麼;是否意味着在Ruby?
- 20. $是什麼?是否意味着在Ruby?
- 21. 什麼是!在這個Ruby函數中意味着什麼
- 22. Ruby中的這是什麼,它爲什麼存在?
- 23. Ruby中的祖先是什麼?他們的用途是什麼?
- 24. 在Ruby中做什麼==?
- 25. 「|| =」在Ruby 1.9.2中做什麼?
- 26. set_if_nil.call在ruby中做什麼?
- 27. Nokogiri的Ruby Hpricot是什麼?
- 28. 爲什麼Bundler是vendoring ruby?
- 29. 這是什麼Ruby語法?
- 30. ruby_executable_hooks是做什麼的?
或者如果foo是假的。 – mopoke 2010-01-08 03:02:11