[#29374] nil.to_s — Shugo Maeda <shugo@...>

前田です。

59 messages 2006/09/01
[#29375] Re: nil.to_s — "U.Nakamura" <usa@...> 2006/09/01

こんにちは、なかむら(う)です。

[#29380] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29387] Re: nil.to_s — Shugo Maeda <shugo@...> 2006/09/01

前田です。

[#29390] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29398] Re: nil.to_s — "NARUSE, Yui" <naruse@...> 2006/09/01

成瀬です。

[#29400] Re: nil.to_s — Yukihiro Matsumoto <matz@...> 2006/09/01

まつもと ゆきひろです

[#29491] symbol and string — Tanaka Akira <akr@...>

open-uri で :proxy=>nil という指定を行うと、以下のようにエラーになります。

33 messages 2006/09/05
[#29499] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/05

まつもと ゆきひろです

[#29500] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/05

In article <1157470154.047826.13379.nullmailer@x31.priv.netlab.jp>,

[#29503] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29504] Re: symbol and string — Tanaka Akira <akr@...> 2006/09/06

In article <1157505538.340126.8472.nullmailer@x31.priv.netlab.jp>,

[#29507] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/06

まつもと ゆきひろです

[#29512] Re: symbol and string — keiju@... (石塚圭樹) 2006/09/06

けいじゅ@いしつかです.

[#29529] Re: symbol and string — SASADA Koichi <ko1@...> 2006/09/08

 ささだです。

[#29530] Re: symbol and string — Yukihiro Matsumoto <matz@...> 2006/09/08

まつもと ゆきひろです

[ruby-dev:29393] Re: nil.to_s

From: Shugo Maeda <shugo@...>
Date: 2006-09-01 15:34:01 UTC
List: ruby-dev #29393
前田です。

Yukihiro Matsumoto wrote:
> 言語仕様系の「議論」は久しぶりなので、正直、喜んでます。

とくに私はほんとに久しぶりですね。

> |ああ、なるほど、putsなどを気にされてたんですね。
> |でもうささんも書かれていますが、putsの方を変える方がいいように
> |思います。
>
> 「putsの方を変える」というのは、どういう風に変えることを想定
> しているんでしょうね。nil.to_sを""のままにするなら、「変えな
> い」のが一番良いと思うのですが。

一貫性のみを考えるならば、

puts nil #=> 改行のみ出力

とする方がよいように思います。
もちろん、nil.to_sが""になることと"nil"になることが同程度に自然
であるならば、ということですが。

> |結局、nilの文字列表現として空文字列が自然かどうかというのが、
> |一番の問題点だと思うので、まつもとさんが変だと思われる理由を
> |もう少し説明していただければと思います。
>
> nilというのは「なんでもない」ことを意味するオブジェクトで、
> 数値でも数値的なオブジェクトでもありませんから、(to_iによる)
> 数値への変換対象であるというのは不自然なことだと思います。同

Stringオブジェクトもそれ自体はたんなる文字の並びを意味するもので、
数値でも数値的でもないように思いますが、どうでしょうか。
あるオブジェクトをto_iによる数値への変換対象とするかどうかは、そ
のオブジェクトが数値あるいは数値的であるかどうかよりも、数値への
変換に意味を見い出せるかどうかで判断する方がよいのではないかと思
います。

「なんでもない」だと0とは思えないかもしれませんが、「なんにもない」
と考えると、数値に読み変えた場合、まさに0ではないでしょうか。

> 様にnil.to_sは「そのオブジェクトがどんなものであるか」がはっ
> きり分かる文字列であるべきで、それは空文字列ではなく、"nil"
> という表現ではないかと感じました。

[1, 2, 3].to_sは"123"になりますが、「そのオブジェクトがどんなもの
であるか」は"123"からは読み取れませんよね。
他のオブジェクトでもto_sの結果からは「そのオブジェクトがどんなもの
であるか」ははっきりしないケースがあるので、nilだけを変える理由と
しては弱いように思います。

-- 
前田 修吾

In This Thread