From: Shin-ichro Hara Date: 1998-12-01T19:30:20+09:00 Subject: [ruby-dev:3722] multiple assignment, yield and return 原です。 スレッドが長くなったのでさし当たって subject を買えました。 In message "[ruby-dev:3704] Re: Multiple assignment at yield()" on 98/11/30, MAEDA Shugo writes: | |前田です。 |yield(1) #=> args == [1] この方式の問題点は今まで 1 をそのまま返したのに、それを配列にし たところでオーバーヘッドがあるという所ですよね。 そこで、args == [1,2] となったとき、yield(1, 2) なのか yield([1, 2]) なのかを区別するためにフラグを立てるという方法も提案されているわけ ですが、、。 |つまり|x|を|x,|と同じ意味に、|*x|をこれまでの|x|の意味にするわけです。 |これなら[ruby-dev:3625]は解決されますし、メソッドの引数の渡し方に |挙動を合わせただけなので、モデルも理解しやすいというか、直感に合って |いるような気がします。 | |# でも、やはり大袈裟すぎるかなあ。 うむ、これはやはり非互換性が大きい過ぎるのではないかなあ。 すっきりはするけど。