[#23332] to_str再考 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2004/04/05

[#23380] [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

17 messages 2004/04/15
[#23400] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。落ちる場所がわかりました。

[#23402] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23403] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — nobu.nakada@... 2004/04/16

なかだです。

[#23405] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[#23407] Re: [SEGV] make test-all (bccwin32 ruby1.9.0) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/04/16

山本です。

[ruby-dev:23338] Re: to_str再考

From: Tanaka Akira <akr@...17n.org>
Date: 2004-04-06 03:21:04 UTC
List: ruby-dev #23338
In article <1081179980.787651.13532.nullmailer@picachu.netlab.jp>,
  matz@ruby-lang.org (Yukihiro Matsumoto) writes:

> pathname.rb: Pathname#to_str
>
>   これはopen()やFile.open()の引数としてPathnameクラスが使え
>   るためのhackです。これはKernel#open()がto_openを解釈するよ
>   うになれば解決、と思っていたのですが、これではFile.open()
>   は救済できませんね。to_path_strのようなメソッドを用意する
>   のは...なんとなくイヤだなあ。とはいえ、File.open()も
>   to_openを使うというのもやりすぎのような気がします。これは
>   ちょっと保留。

open(), File.open() だけでなく、File.chmod, Dir.mkdir など、File と
Dir のクラスメソッドで path とか filename とかという仮引数名のところに
はどこでも使えることを意図しています。したがって、to_open というおそら
く open 専用の機構だけでは意図を実現できないのではないかと思います。

to_path_str というのは現在のスタイルの延長で手続き型にこだわるなら自然
と思いつく手ですね。

私としては、スタイルを変えて OOP を推奨すれば悩まなくて済むのに、と思っ
ています。でも、どうしても手続き型がいいっていうならしょうがないですけ
ど。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread