例外のキャッチ

rescueで例外を捕獲するときに、どうやってテストするのか、積年の謎だったんだけど、結局ソースコード読むことにして解決した。

===でテストしてる。

===はcase式で値を比較するときに使われる演算子で、大体クラスCC.===はそのクラスのオブジェクトに対してtrueを返するようになっている。

String === "a"   # true
Object === "a"   # true
Integer === "a"  # false

このとき、===はsymmetricではないことに注意。なんか、方向が無い記号なので嫌な感じだけど。そんなことでは、Rubyistはうろたえないッ