[#29371] commit miss — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
7 messages
2006/09/01
[#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
まつもと ゆきひろです
[#29405] Re: nil.to_s
— "NARUSE, Yui" <naruse@...>
2006/09/02
成瀬です。
[#29520] Re: nil.to_s
— Yukihiro Matsumoto <matz@...>
2006/09/07
まつもと ゆきひろです
[#29396] Re: nil.to_s
— "U.Nakamura" <usa@...>
2006/09/01
こんにちは、なかむら(う)です。
[#29409] Re: nil.to_s
— Yukihiro Matsumoto <matz@...>
2006/09/02
まつもと ゆきひろです
[#29376] Re: nil.to_s
— Shugo Maeda <shugo@...>
2006/09/01
前田です。
[#29406] too slow drb test — Tanaka Akira <akr@...>
とあるホスト (というのは td176.testdrive.hp.com ですが) で
5 messages
2006/09/02
[#29416] build failed on osx — Masatoshi SEKI <m_seki@...>
咳といいます。
8 messages
2006/09/02
[#29426] Re: build failed on osx
— Mitsuhiro Kondo <miche@...>
2006/09/03
近藤と申します。
[#29436] Re: build failed on osx
— Masatoshi SEKI <m_seki@...>
2006/09/03
咳といいます。
[#29423] Time#rfc2822 — Tadayoshi Funaba <tadf@...>
ふなばです。
9 messages
2006/09/03
[#29427] Re: Time#rfc2822
— Tanaka Akira <akr@...>
2006/09/03
In article <20060903.111434.71084310.tadf@dotrb.org>,
[#29429] Re: Time#rfc2822
— Tadayoshi Funaba <tadf@...>
2006/09/03
> Time が utc なら時差情報は出さないのが意図であると推測するの
[#29432] Re: Time#rfc2822
— Tanaka Akira <akr@...>
2006/09/03
In article <20060903.140151.74756121.tadf@dotrb.org>,
[#29447] Struct::Tms.instance_methods(false) contains false — Tanaka Akira <akr@...>
以下のように、instance_methods の結果に false が入ることがあります。
4 messages
2006/09/03
[#29473] ext/tk/tkutil — nobu@...
なかだです。
8 messages
2006/09/04
[#29474] Re: ext/tk/tkutil
— Yukihiro Matsumoto <matz@...>
2006/09/04
まつもと ゆきひろです
[#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
まつもと ゆきひろです
[#29532] Re: symbol and string
— Masatoshi SEKI <m_seki@...>
2006/09/08
咳といいます。
[#29533] Re: symbol and string
— Yukihiro Matsumoto <matz@...>
2006/09/08
まつもと ゆきひろです
[#29601] cgi.rbのformの挙動 — Fujioka <fuj@...>
藤岡です。
12 messages
2006/09/26
[#29602] Re: cgi.rbのformの挙動
— Yukihiro Matsumoto <matz@...>
2006/09/26
まつもと ゆきひろです
[#29603] Re: cgi.rbのformの挙動
— Fujioka <fuj@...>
2006/09/26
藤岡です。
[#29604] Re: cgi.rbのformの挙動
— "Nobuyoshi Nakada" <nobu@...>
2006/09/26
なかだです。
[ruby-dev:29520] Re: nil.to_s
From:
Yukihiro Matsumoto <matz@...>
Date:
2006-09-07 16:01:06 UTC
List:
ruby-dev #29520
まつもと ゆきひろです
とりあえずここに付けます。
In message "Re: [ruby-dev:29405] Re: nil.to_s"
on Sat, 2 Sep 2006 12:10:06 +0900, "NARUSE, Yui" <naruse@airemix.com> writes:
|まとめると、
|* nil はエラーを示す値
|* エラーで止めたいなら "nil" か例外
|* エラーでも進みたければ零元
|* to_s 系はエラーでも進みたい
|* to_str 系は止めたいかな
|* String() 系はどちらだろう # to_s 系か to_str 系かにあわせるべき
皆さんからたくさんの意見が聴けたのでありがたく思います。先週
の
nil.to_s => "nil"
という変更以来、賛成、反対両方からいろいろな意見をいただきま
した(主に反対かな)。で、それらを踏まえていろいろ考えたのです
が、以下のようにしようと思います。
* nil.to_sは""に戻す
根拠
(1) to_sはinspectとは違う。
(2) あいかわらずnilは「なにでもない」存在であり、それ故
にto_sがなにを返すのも自由だといまだに考えているが、
""以外のものを返すのであれば、零元とは決別するという
ことであり、to_i, to_f, to_aなどを未定義にする必要が
ある。それはそれで魅力的な気もするが、同時に茨の道で
もある。
(3) 1.9は互換性に気を使わないと宣言しているものの、こん
な些細な点で大きな非互換性を導入することもないだろう。
* String()などの「クラス名系変換メソッド」はnilに対して例
外を出す。
根拠
(1) 伝統的に「クラス名系変換メソッド」は対応するto_xメソッ
ドよりチェックが厳しいことになっており、エラー無視の
方向に使われるnilからの変換は使われるべきでない
* to_xに相当するメソッドを提供する数値クラスはnilに対して
そのゼロを返すべき。その他のクラス(Rubyの根源的データ構
造であるStringとArrayを除く)への変換メソッドはnilに定義
されるべきではない。例: Rationalは数値でありto_rメソッド
を持つので(ただし、この名前が本当によいのかは再検討が必
要)、将来nil.to_rが定義される可能性が高い。あるいは、
BigDecimalは数値クラスであるがto_xに相当するメソッドを持
たないのでnilにメソッドは追加されない、など。
根拠
(1) 無制限かつ無秩序にnilにto_xメソッドが追加されること
は避けたい
(2) 数値にはゼロが明確に定義されていることが期待される。
(3) to_xに相当するメソッドがなければ、nilに追加すること
もない(当然)
あと、考えていることは
* Array#to_sとHash#to_sは何を返すべきか
Perl由来の今の挙動は嬉しいことがなにひとつない。
Pythonのようにinspect(repr)のaliasにすべき(か)。
* 現在特別扱いしている「puts nil」と「puts ary」はどう振る
舞うべきか。
例外を減らすならいずれも引数をto_sしたものを出力すべき。
「目に優しいdump」はあきらめる(そんな重要じゃないし)。
「puts ary」は「puts *ary」で代替。
* 「print nil」と「printf "%s", nil」は?
後者は「nil」を表示すべき(Cのprintfでも「(null)」が印字
される)。前者は...うーん、やっぱり「nil」かなあ。
この辺はまだ未定です。
まつもと ゆきひろ /:|)