2011年10月 3日

[ruby-list:48432] 実引数における *

きしもとです

> わかりました。配列を引数にとるときは*を付けるのですね。でも今回の場合
> は、配列要素はreq.pathで持ってきて分割しているので、*はつ けなくてもよい
> というこですね。
(snip)
> > *はなんのためにあるのでしょうか?

ええと、大丈夫でしょうか?

実引数(メソッド呼び出し側の引数。メソッド定義側は仮引数)における * は、
配列に付けて、「あたかも、そこに引数として、その配列の内容をバラして
並べられているかのように」するものです。

irb> def foo a, b, c, d, e
irb> puts "a == #{a}, b == #{b}, c == #{c}, d == #{d}, e == #{e}"
irb> end

irb> bar = [3, 4, 5]

irb> foo 1, *bar, 7
a == 1, b == 3, c == 4, d == 5, e == 7


投稿者 xml-rpc : 2011年10月 3日 17:59
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/106653
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。