永井@知能.九工大です.

From: Shugo Maeda <shugo / ruby-lang.org>
Subject: [ruby-dev:29374] nil.to_s
Date: Fri, 1 Sep 2006 18:30:03 +0900
Message-ID: <44F7FD85.9080908 / ruby-lang.org>
> trunkでnil.to_sが"nil"を返すように変更されたので、まつもとさんに
> 「本気ですか?」と聞いたらどうやら本気のようです。
> 理由は「nilが空文字列になるのは変だから」ということだそうですが、
> 「それを言ったら、nil.to_iが0になるのは変じゃないんですか」と聞く
> と「そっちも変だからnil.to_iは廃止する(NoMethodErrorになる)つもり」
> ということでした。
> 
> というわけで、このままだとそういう方向に進んでいきそうですが、
> 本当にいいんですか? > みなさん

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

> 個人的には、nilは無・空を表すオブジェクトだと思っているので、文字
> 列に変換したら空文字列になるというのはそんなに違和感はないんです
> が、どうでしょう。

同意します.
というか,nil.to_s が "nil" を返す方がよほど変という気がします.

# nil.inspect というのがあるわけですし...

> そう考えると、整数に変換すると0というのも割と自然なんじゃないかと
> 思います。

nil.to_i -> 0 の方はやや説得力が弱く感じますが,
そういうもんだと言われれば十分に納得できる範囲です.
-- 
                                       永井 秀利 (九工大 知能情報)
                                           nagai / ai.kyutech.ac.jp