yarv-dev:612
From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Fri, 16 Sep 2005 16:54:39 +0900
Subject: [yarv-dev:612] Re: yield multi values
まつもと ゆきひろです In message "Re: [yarv-dev:582] yield multi values" on Tue, 16 Aug 2005 06:54:17 +0900, SASADA Koichi <ko1 atdot.net> writes: | この辺はブロックパラメータの引数の設定は多重代入である、という原則があ |るためですが、この仕様は Ruby2.0 においても同様でしょうか。それとも、変 |わりますか。あと、考え中とか。 「ブロックパラメータが多重代入である」という点は同じです。で すから、 * パラメータの数が少なければ、あまった値は無視 * パラメータの数が多ければ、nilで埋める ことは変わりません(ここがメソッド引数とは違う)。ただ、今まで の仕様は「値としての配列」と「多値の表現としての配列」が混在 していますが、「本物の多値」の導入でこのへんがシンプルになる のではないかと期待しています。 | アドホックに対応してるのは、ネストしてない多重代入のやつで、ネストして |るやつはそもそも非対応。 | |((a, b), c) = [[1, 2], 3] #=> 非対応 | | ついでに、これは Ruby 2.0 にも持ち込むこと決定ですかね。決定なら真面目 |に実装します。 どうしましょうねえ。上記の「多値と配列の分離」の観点からは馴 染まないんですが、便利は便利ですよねえ。いまんとこ「なくして もいいか」と思ってます。これは「多値がネストできるか」とか 「多値全体をオブジェクトとして(単値として)扱えるか」に関わる 問題ですね。 まつもと ゆきひろ /:|) -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
582 2005-08-16 06:54 [ko1 atdot.net ] yield multi values 583 2005-08-16 08:15 ┣[ko1 atdot.net ] -> 612 2005-09-16 16:54 ┗[matz ruby-lang.org ]