[#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:29419] Re: nil.to_s
From:
"NARUSE, Yui" <naruse@...>
Date:
2006-09-03 00:30:55 UTC
List:
ruby-dev #29419
成瀬です。
> putsがnilを出力しないのは、あきらかに不便だと思います。私に
> とっては天秤にかける内容ではないのですが。実際のところはそう
> でもないのかな。
> 一般論として他の区別できない文字列表現は良くない
[ruby-dev:29148] のスレッドでの Time#to_s の意味がようやくわかって
きた気がします。まつもとさんは puts に p よりも目に優しいダンプを
期待していらっしゃるのですよね?
そう考えると、to_s に関するまつもとさんの主張の趣旨が理解できそうです。
それを前提に整理し直すと to_s については、
* 目に優しいダンプ
* エラー検出
* エラー無視
という互いに矛盾する立場が存在するのでしょうか。
> > to_sはprintで、inspectはpで使われる、というのがこれら二つの
> > メソッドの違いです。逆に言えばそれ以上の明確な違いは定義され
> > ていないわけですね。ですから「『そのオブジェクトがどんなもの
> > であるか』がはっきり分かる文字列であるべき」というのは絶対条
> > 件ではありません。ただ、一般論として他の区別できない文字列表
> > 現は良くない(ので、従来のto_sのうちあまり望ましくないものが
> > あった(arrayとかhashとか))とは思っています。
>
> to_sにはそういう役割は期待していなかったので、この話にはちょっと
> 驚きました。
わたしも to_s にそのようなダンプ的な意図があるとは知りませんでした。
さておき、puts / to_s に区別の機能を持たせるのは過剰と感じます。
区別は p / inspect が行うべきことで、現状が使いづらいのならば、
こちらをもっと見やすくするほうがよいかと思います。
あるオブジェクトが何者か見たいとき、p の方が短いですし。
よって、以下のような住み分けはいかがでしょう。
:to_s
文字列にしたとき一番便利な形式。
それを文字列にした時通常期待される形式。
:inspect
それが何者であるかわかりやすい形式。
:to_yaml
ダンプ。
このように定義すると、例えば Time の場合、
access_list = [ [ip_address, time], [ip_address, time], ... ]
access_list.each{|item| puts '%s : %s' % item }
とした時 "127.0.0.1 : 2006-07-27 16:16:33 +0900" でもアリな気がします。
puts [1,2] -> "1,2"
puts :a=>1,:b=>2 -> "a=>1,b=>2"
> いや、もともとあまり強い理由はないんです。ただ、nilにどんな
> 意味を持たせるのか明確化したいだけで。
nil は例外の一種だと思っています。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/7999
を見るともともと IndexError だったようですし。
あくまでエラー値であり、無というよりも悪意のこもった無だけれど、
強制的に変換した場合は、「なかったことにする」零元になる、とか。
> 将来定義されうるあらゆるto_xxxはnilから零元に変換されるべきだ、とか?
> 直近だとcomplexやrationalの組み込みが予定されてますよね。
to_x については零元にされるべきですが、to_xxx についてはわかりません。
* CLASS.new(nil) -> 例外
* nil.to_xxx -> 例外 ?
* CLASS(nil) -> 零元 ?
* nil.to_x -> 零元
とりあえずリストにするとこんな感じでしょうか。
--
NARUSE, Yui <naruse@airemix.com>
DBDB A476 FDBD 9450 02CD 0EFC BCE3 C388 472E C1EA