我在agile rails programming一书中看到了这个摘录:
module StoreHelper
def page_title
@page_title || "Pragmatic Store"
end
end 是否可以将||更改为=?
发布于 2010-12-18 18:25:07
更长的答案是,你偶然发现了一种流行的编程风格,因为它非常简洁,但仍然很容易理解。这是一种编写代码的快捷方式:
if ! @page_title.nil?
return @page_title
else
return "Pragmatic Store"
end因此,一行带有逻辑或的代码就不再需要if/then。它之所以这样做,是因为||的求值方式:从左到右,在第一个不为false的项上停止。您找到的示例也省略了return关键字,因为它在这里不是显式必需的。
发布于 2010-12-18 16:26:10
不是的。
这意味着如果不是nil,page_title将返回@page_title,如果@page_title为nil,则返回或 "Pragmatic Store"。(nil为空)
https://stackoverflow.com/questions/4477295
复制相似问题