||运算符与=运算符相同吗?
我看到这个片段在敏捷轨编程的书:||运算符与=运算符相同吗?
module StoreHelper
def page_title
@page_title || "Pragmatic Store"
end
end
我可以改变|| to =?
较长的答案是,你已经偶然发现了一种非常流行的编程风格,因为它非常简洁,但仍然很容易理解。这是一个快捷方式写:
if ! @page_title.nil?
return @page_title
else
return "Pragmatic Store"
end
因此,一行逻辑或的删除需要一个if/then。它是这样做的,因为||评估:从左到右,停在第一个不是假的项目上。你发现的例子也遗漏了返回关键字,因为这里没有明确的必要。
号
这意味着,page_title
将返回@page_title
如果不是零,或"Pragmatic Store"
如果@page_title
是零。 (零为空)
或无。 15个字符commentttnwjiqiqhheififjhf – 2010-12-18 08:27:49
另请注意,在Ruby中,如果给定的语句没有任何功能,但在函数或方法中,它会自动返回。 – 2010-12-18 08:28:51
@Time Machine:如果它是该方法的最后一行 – 2010-12-18 08:31:23
很好的解释!谢谢 – mko 2010-12-18 11:56:48