||运算符与=运算符相同?

时间:2010-12-18 08:24:16

标签: ruby-on-rails

我在敏捷导轨编程书中看到了这段摘录:

module StoreHelper 
def page_title 
@page_title || "Pragmatic Store" 
end 
end 

我可以更改||到=?

2 个答案:

答案 0 :(得分:4)

没有

这意味着如果page_title为零,则@page_title如果不是,则返回"Pragmatic Store" @page_title。 (零为空)

答案 1 :(得分:2)

更长的答案是你偶然发现了一种流行的编程风格,因为它非常简洁,但仍然易于理解。这是写作的捷径:

if ! @page_title.nil?
  return @page_title
else
  return "Pragmatic Store"
end

因此,使用逻辑或一行的一行不需要if / then。这样做是因为||的方式评估:从左到右,停在第一个非假的项目。您找到的示例也省略了 return 关键字,因为此处没有明确说明这一点。