From: matz@... (Yukihiro Matsumoto) Date: 2002-07-03T16:13:43+09:00 Subject: [ruby-dev:17643] Re: substitution at when-clause まつもと ゆきひろです In message "[ruby-dev:17642] Re: substitution at when-clause" on 02/07/03, Takaaki Tateishi writes: |> いや、私もそういう場合があることには同意しますんで、どっちかっ |> ていうと「それが妥当か」というよりも「それが言語を損なわない |> か」というのが論点だと思います。 | |===を使わずにうまくwhen節での代入を説明ができれば良いということ |ですか? |そのwhen節が選択された根拠(つまり===の値ですが…)が変数に代入さ |れるという考えはどうですか? うーん、なんていったらいいのかな。 case a when b => r ... when c, d => r ... when e => r ... end というときの挙動の説明ができるかってことですから、「===を使 わずにうまくwhen節での代入を説明ができれば良い」ってのはあな がちはずれではないのかも。 でもねえ、どう説明しても上記のコードはピンとこないんですよね え、どうも。ifでいいじゃんって思っちゃう。 |これって,例えば,rubyのrb_eval()のコードはswitch文で分岐してい |ますが,polymorphismを利用すれば,それぞれのノードがeval()という |メソッドを持っていて,そのeval()メソッドを呼べということなどです |よね. ま、そういうことです。 |Rubyのcaseはちょっと違うかなと思ったりはしたのですが… 場合によるでしょう。 まつもと ゆきひろ /:|)