Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ||运算符与=运算符相同?_Ruby On Rails - Fatal编程技术网

Ruby on rails ||运算符与=运算符相同?

Ruby on rails ||运算符与=运算符相同?,ruby-on-rails,Ruby On Rails,我在AgileRails编程书中看到了这段摘录: module StoreHelper def page_title @page_title || "Pragmatic Store" end end 我可以把| |改为=?否 这意味着page\u title如果不是nil,将返回@page\u title,如果@page\u title为nil,则返回“实用存储”。(nil为空)否 这意味着page\u title如果不是nil,将返回@page\u title,如果@page\u

我在AgileRails编程书中看到了这段摘录:

module StoreHelper 
def page_title 
@page_title || "Pragmatic Store" 
end 
end 
我可以把| |改为=?

这意味着
page\u title
如果不是nil,将返回
@page\u title
如果
@page\u title
为nil,则返回
“实用存储”
。(nil为空)


这意味着
page\u title
如果不是nil,将返回
@page\u title
如果
@page\u title
为nil,则返回
“实用存储”
。(nil为空)

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

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

这样,一行逻辑or就不需要if/then。它之所以这样做是因为| |的计算方式:从左到右,停在第一个不是假的项目上。您发现的示例也省略了return关键字,因为这里不需要它。

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

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

这样,一行逻辑or就不需要if/then。它之所以这样做是因为| |的计算方式:从左到右,停在第一个不是假的项目上。您发现的示例也省略了return关键字,因为这里不需要它。

或nil。15个字符的注释TwnwjiqiqhHeiffjhfalso请注意,在Ruby中,如果一条语句不包含任何函数,而是包含在函数或方法中,则该语句将自动返回。@Time Machine:如果它是该方法的最后一行,则不必是最后一条语句是否为
if then else
,对吗?或为零。15个字符的注释TwnwjiqiqhHeififjhfalso请注意,在Ruby中,如果一条语句不包含任何函数,而是包含在函数或方法中,它将自动返回。@Time Machine:如果它是该方法的最后一行,则不必是如果最后一条语句是
if then else
,对吗?