From: matz@... (Yukihiro Matsumoto) Date: 1998-11-30T18:29:05+09:00 Subject: [ruby-dev:3705] Re: Multiple assignment at yield() まつもと ゆきひろです In message "[ruby-dev:3704] Re: Multiple assignment at yield()" on 98/11/30, MAEDA Shugo writes: |前田です。 |Lispで言えば、apply的であり、かつfuncall的でもあるわけですよね。 |やはりどちらかに統一した方がよいのではないでしょうか。 そうなのかなあ.元々yieldの後ろに複数の値がくるってのはただ 単に yield [a,b,c] の省略形という意味しかありません(でした)しねえ.どちらかに統 一するもなにも元々apply的なわけです. で,案としてはたとえばCLUのようにreturnやyieldで複数の値を渡 せるようにするというのがキレイで好きなんですけど,過去との非 互換は大きくなりそうですね. |そこで思い切って、ブロックへの引数の受け渡しに多重継承を用いず、 |別のロジックを用いることにしてはどうでしょう。 私の考えてい{る,た}のもこんな感じです.ただ,どう考えてもこ の変更とそれによる非互換を正当化するほどの理由ではないように も思うのですよね.今のモデルも慣れればすっきりしてるし. # 慣れすぎてて最初なにが問題なのか分らなかった. |# rb_yield()をどうするかというのも問題ですし。 rb_yield(int argc, VALUE argv[]); とかでしょうか. まつもと ゆきひろ /:|)