3

Railsコードで、次のメソッド定義に出くわしましたdef initialize(*)

意味はわかりdef foo(*a)ますが、の後に識別子名を省略することの意味がわかりません*。このメソッドに渡された引数にどのようにアクセスしますか?

4

1 に答える 1

3

これが私の推測です。

それは2行目のために機能します:

def initialize(*)
  super
  ...
end

したがって、メソッドは任意の数の引数を受け取り、それらすべてをに渡しsuperます(ご存知のように、super引数がない場合は、元のメソッドからすべての引数を取得することを意味します)。

そしてこの場合、引数の名前は必要ありません。

于 2013-02-27T10:50:17.030 に答える