From: shugo@... (MAEDA Shugo) Date: 1998-12-01T21:01:11+09:00 Subject: [ruby-dev:3725] Re: multiple assignment, yield and return 前田です。 >>>>> In [ruby-dev:3722] >>>>> "原" == Shin-ichro Hara san wrote: 原> |yield(1) #=> args == [1] 原> この方式の問題点は今まで 1 をそのまま返したのに、それを配列にし 原> たところでオーバーヘッドがあるという所ですよね。 多重代入を使うのをやめる、という案なので、必ずしも、Rubyの配列を 生成する必要はないと思います。 # Rubyの配列を生成する必要があるのは|*x|を使う時だけです。 コスト的にはメソッドと同じと考えてよいのではないでしょうか。 原> そこで、args == [1,2] となったとき、yield(1, 2) なのか yield([1, 2]) 原> なのかを区別するためにフラグを立てるという方法も提案されているわけ 原> ですが、、。 現状のモデルではyield(1, 2)はyield([1, 2])の略記法とのことなので、 モデル変更しないのなら区別するのも不自然な気がします。 原> うむ、これはやはり非互換性が大きい過ぎるのではないかなあ。 原> すっきりはするけど。 やはり互換性を維持した上で、シンプルなモデルにするのは無理みたいですね:-( -- 前田 修吾 (mailto:shugo@aianet.ne.jp)