3

これをご希望ですか:

def add(a, b)
  puts "ADDING #{a} + #{b}"
  return a + b
end

これ以上?

def add(a, b)
  puts "ADDING #{a} + #{b}"
  a + b
end
4

5 に答える 5

4

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'

あなたが行くにつれて、あなたはもっとたくさんのショートカットを学ぶでしょう。

于 2012-05-10T20:36:32.020 に答える
2

スタイルガイドは、明示的な戻り値を省略するように言っています

不要な場所への返却は避けてください。

# bad
def some_method(some_arr)
  return some_arr.size
end

# good
def some_method(some_arr)
  some_arr.size
end
于 2012-05-10T20:36:04.910 に答える
1

これを見てください:http ://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/

プロシージャ、ラムダ、ブロックでreturnがどのように機能するかを説明します。

于 2012-05-11T05:13:34.797 に答える
0

それはすべて文脈に依存します。通常、明示的に指定する必要はありません。rubyistsは、最後の式が返された式であることを知っています。ただし、まれに、相互作用やあいまいな構造のように、最後の表現が理解しにくい場合があるため、それを配置するとよい場合があります。しかし、通常は必要ありません。

編集:

そして明らかに、メソッドの最後ではない式を返そうとしているときは、 returnを使用する必要があります。遅延ロードされたアクセサーの場合と同じように

于 2012-05-10T20:34:51.697 に答える
0

の長所return a + b

  • 読みやすさ
  • エラーが発生しにくい

短所:

  • 詳細
于 2012-05-10T20:35:28.360 に答える