From: rubikitch@... Date: 2008-08-11T00:24:57+09:00 Subject: [ruby-list:45336] Re: def meth(*args, &block) の「*」「&」の呼び名は? From: take_tk Subject: [ruby-list:45334] def meth(*args, &block) の「*」「&」の呼び名は? Date: Sun, 10 Aug 2008 22:58:31 +0900 > 最後の仮引数の直前に * がある場合には残りの実引数はみな配列とし てこの引数に格納されます。 可変長引数などと呼ばれる機能です。 > 最後の仮引数の直前に & があるとこのメソッドに与えられているブロッ クが手続きオブジェクト(Proc)としてこの引数に格納されます。 > > ということなのですが、この「*」や「&」の呼び名は何でしょうか? そういえば書いてありませんね。 僕は「可変長引数」と「&引数」と呼んでいます。 「ブロック引数」だと |〜| のことと誤解しがちなので。 > 「配列展開演算子」、とか「splat演算子」、「ブロック展開演算子」とか、勝 少なくとも演算子と呼ぶのはおかしいと思います。 「splat演算子」はこっちのほうでしょう。 a = [2,3] x = 1, *a x # => [1, 2, 3] -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/