前田です。

Hidetoshi NAGAI wrote:
> 結構,パニックが発生しそうですね.(^_^;;
> 影響範囲の修正 (修正が必要かどうかを判断して回る作業を含む) を考えると
> 頭が痛くなりそうです.

エラーにならないところが悩ましいですね。
ユニットテストなどがあれば、to_sをundefしたりしてチェックできそう
ですが。

>> 個人的には、nilは無・空を表すオブジェクトだと思っているので、文字
>> 列に変換したら空文字列になるというのはそんなに違和感はないんです
>> が、どうでしょう。
>
> 同意します.
> というか,nil.to_s が "nil" を返す方がよほど変という気がします.
>
> # nil.inspect というのがあるわけですし...

個人的にはnil.to_sが"nil"なのは変とまでは思いません。
が、""になるのも自然に見えるので、互換性を犠牲にしてまで変えなく
てもよいのでは、というのが私の意見です。

>> そう考えると、整数に変換すると0というのも割と自然なんじゃないかと
>> 思います。
>
> nil.to_i -> 0 の方はやや説得力が弱く感じますが,
> そういうもんだと言われれば十分に納得できる範囲です.

http://ja.wikipedia.org/wiki/0

とかを読むと自然に感じるのですが、このあたりは門外漢なので詳しい
方におまかせします。

-- 
前田 修吾