From: matz@... (Yukihiro Matsumoto) Date: 1998-11-24T14:46:09+09:00 Subject: [ruby-dev:3654] Re: Multiple assignment at yield() まつもと ゆきひろです In message "[ruby-dev:3625] Re: Multiple assignment at yield()" on 98/11/22, Shin-ichro Hara writes: |原です。 | |また新たな提案ですが、値を送る側ではリストの前方に *a が出 |てくるのを許してもいいのではないでしょうか。つまり、 | | a = [1, 2]; f(*a, 3) #=> f(1, 2, 3) | |ができると便利なんですがどうですか? これは1年に一度くらい思い出すアイディアなんです.実はつい先 週くらいにも思い出してました.が,その度に没にしてます.その 理由は 実際には引数リストの「途中に」可変なリストがくることはそれ ほどない もし,あっても a = [1,2] a.push 3 f(*a) または f(*a+3) で対応できる からということになってます. |も定義すると、残念ながら結果は同じです。 | | Hash1.new(1=>2).each_with_index {|x| p x} #=> [[1,2], 0] | Hash2.new(1=>2).each_with_index {|x| p x} #=> [[1,2], 0] なるほどねえ.ちょっと考えてみます.