2010-12-18 21 views
0

私は本をプログラミングアジャイルレールにこの抜粋を見た:||演算子は=演算子と同じですか?

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

は私が変更することはでき|| 〜=? nilでない場合@page_titleがnilであればpage_titleは、OR"Pragmatic Store"@page_titleを返すことを意味し

答えて

2

これ以上の答えは、非常に簡潔でありながら理解しやすいプログラミングスタイルに遭遇したことです。

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

論理行または論理行を持つ1行で、if/thenが不要になります。これは、方法のためにこれを行う||評価されます:左から右へ、偽でない最初の項目で停止します。見つかった例では、の戻り値キーワードは除外されています。

+0

良い説明!ありがとう – mko

4

。 (nil is null)

+0

またはnil。 15文字commentttnwjiqiqhheififjhf –

+0

また、Rubyでは、関数がなく関数またはメソッド内に文が与えられた場合、その文は自動的に返されます。 –

+1

@Time Machine:そのメソッドの最後の行である場合 –