これをご希望ですか:
def add(a, b)
puts "ADDING #{a} + #{b}"
return a + b
end
これ以上?
def add(a, b)
puts "ADDING #{a} + #{b}"
a + b
end
これをご希望ですか:
def add(a, b)
puts "ADDING #{a} + #{b}"
return a + b
end
これ以上?
def add(a, b)
puts "ADDING #{a} + #{b}"
a + b
end
return
どうしても必要な場合を除いて、ステートメントを含めないのはRubyWay™です。
もっと良い例があると思いますが、ここに簡単な例があります。
def divide a, b
return false if b == 0
a/b
end
Rubyには、オプションで多くの構文を無視する手段が用意されていることに注意してください。()
ネストしない限り、オプションです。{}
多くの場合、省略できます。
func(5, 5, {:hello => 'world'})
# is the same as
func 5, 5, hello: 'world'
あなたが行くにつれて、あなたはもっとたくさんのショートカットを学ぶでしょう。
スタイルガイドは、明示的な戻り値を省略するように言っています
不要な場所への返却は避けてください。
# bad
def some_method(some_arr)
return some_arr.size
end
# good
def some_method(some_arr)
some_arr.size
end
これを見てください:http ://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/
プロシージャ、ラムダ、ブロックでreturnがどのように機能するかを説明します。
それはすべて文脈に依存します。通常、明示的に指定する必要はありません。rubyistsは、最後の式が返された式であることを知っています。ただし、まれに、相互作用やあいまいな構造のように、最後の表現が理解しにくい場合があるため、それを配置するとよい場合があります。しかし、通常は必要ありません。
編集:
そして明らかに、メソッドの最後ではない式を返そうとしているときは、 returnを使用する必要があります。遅延ロードされたアクセサーの場合と同じように
の長所return a + b
:
短所: