我看到這個片段在敏捷軌編程的書:||運算符與=運算符相同嗎?
module StoreHelper
def page_title
@page_title || "Pragmatic Store"
end
end
我可以改變|| to =?
我看到這個片段在敏捷軌編程的書:||運算符與=運算符相同嗎?
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