>>73
じゃあどれが本当の理由だったんでしょうか。
いろいろ理由をあげてもらって、それはそれで参考になったのですが、結局どれも決め手にかけています。
というか、どれもみなさんの*推測*でしかないんですよね?作者がそう明言したなら別ですけど。
例えば>>65のおかげでRubyでもTMTOWTDIが(メインではないけど)スローガンになっていることはわかりましたが、それはRuby全体のありかたであって、
Object#nil?やArray#firstはあるけどInteger#even?がない理由として作者がTMTOWTDIをあげたわけではないですよね。

勘違いしないでほしいんですけど、別にInteger#even?がないことを非難しているわけじゃないです。
obj==nilやarray[0]ですむのになんでわざわざObject#nil?やArray[0]を用意したのかが知りたかっただけです。
「Integer#even?もあるべき」と書いたのは、>>55で紹介されたようなことが理由だと仮定した場合の話であって、別のことが理由ならそんなことは書きません。

>>57
> ==はクラス毎に役割が違う。でもObject#nil?はどのクラスでもnilかどうかを返すのが役割。
これよく考えたら、「==はクラス毎に役割が違う」のは確かなんですけど、nilとの比較までクラスごとに違うことはないでしょうから、やっぱりObject#nil?が存在する理由としては弱いんじゃないでしょうか。
つまり、obj==otherはクラスごとに挙動が違うでしょうけど、obj==nilはどのクラスでも同じ挙動を期待していいんじゃないかということです。だからObject#nil?をわざわざ用意する理由としては弱い。