From: Yukihiro Matsumoto Date: 2008-11-07T06:56:52+09:00 Subject: [ruby-dev:37030] Re: :FOO === "FOO" => true and case/when behavior まつもと ゆきひろです In message "Re: [ruby-dev:37026] :FOO === "FOO" => true and case/when behavior" on Thu, 6 Nov 2008 21:46:18 +0900, keiju@ishitsuka.com (Keiju ISHITSUKA) writes: |2つ質問があって, | | :FOO === "FOO" ==> true | |になるのは仕様なのか? ということと, あー、バグです。Symbol#===は以前SymbolとStringの互換性を高め た時の名残で現在は不要なものです。直します。 |上記の case/when の振る舞いが異なるのかが良く理解できないのですが, な |ぜでしょうか? えーと、おそらくはwhenで指定した値がリテラルである場合、最適 化が行われて、そちらは上記の「バグ」を考慮していないからでは ないでしょうか。 まつもと ゆきひろ /:|)