[#45318] Windows コマンドプロンプトで UTF-8を出力するには — Yuumi Yoshida <yuumi3@...>

おつかれさまです、 Yuumi3です。

11 messages 2008/08/08

[ruby-list:45336] Re: def meth(*args, &block) の「*」「&」の呼び名は?

From: rubikitch@...
Date: 2008-08-10 15:24:57 UTC
List: ruby-list #45336
From: take_tk <ggb03124@nifty.com>
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/

In This Thread