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