From: matz@... (Yukihiro Matsumoto) Date: 1998-12-07T16:55:00+09:00 Subject: [ruby-dev:3754] Re: List() まつもと ゆきひろです In message "[ruby-dev:3742] List()" on 98/12/04, Shin-ichro Hara writes: |原です。 | |[ruby-dev:3724] の List クラスを実用的なもの(本当?)にしてみ |ました。 Listを使うアイディア(これじゃなくて暗黙のListの方ね)ってのは 今までの提案の中ではなかなか有望だと思ってました.一度整理し てみましょう. (1) 現状 return, yieldにひとつの値を渡すとそのまま,複数の値を 渡すと配列として渡される (2) List案の1 returnやyieldは配列ではなく,それに良く似たList(仮称) を生成する.*a = LISTはa=[LIST]またはa=[[中身]]になる. 他は一緒. (3) List案の2 [ruby-dev:3742]の通り,明示的にリストを生成する (4) 複数の戻り値案 returnやyieldは複数の値を渡しているとみなし,2番目以降 の値は多重代入でしか受け取れないことにする.互換性が大 変に損なわれる :-< で,いろいろ考えて(2)案は有望かなと思ってたんですが,return のことを考えるとListをユーザに見せないというのはちょっと無理 だということに気が付きました.そうなると この配列のように見えるものが配列かListかいつも意識しなけ ればならない という嬉しくない事態が発生します.違いは多重代入の左辺をrest だけで受けた時だけなのでさしたる違いではないのでしょうが,私 がとまどうには十分な理由です.どう思います? まつもと ゆきひろ /:|)