概要 Ruby の case 文と === の歴史について 昔の case 昔の Ruby には String 化症候群 というものがあったそうです。 ※参考資料(ruby-list 10525) case の内部では no.to_s =~ 1.to_s のような比較をしていた。 しかし、何でも文字列で比較するのはおかしいということで変更することになったが、 文字列以外に =~ を利用するのも気持ち悪いので新たな演算子を利用することに。 そこで === の登場。 現在へ・・・ 現在の case 現在の case 文は内部比較に === を利用しています。 これによって、クラスに合わせた比較処理を実現し、 case をポリモーフィックに利用することができます。 サンプル String#=== るりま | String#=== 文字列の内容で比較します。 サンプルコード %w(hoge hig