[#19958] shim/ruby16/tests — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
6 messages
2003/04/04
[#19960] Re: shim/ruby16/tests
— matz@... (Yukihiro Matsumoto)
2003/04/04
まつもと ゆきひろです
[#19965] unpack_sockaddr_in: sockaddr_in size differs — GOTOU Yuuzou <gotoyuzo@...>
Socket::unpack_sockaddr_in が struct sockaddr_in6 の場合にエラー
4 messages
2003/04/07
[#19980] ""*n — Tadayoshi Funaba <tadf@...5.so-net.ne.jp>
rb_str_times ですけど、こうしても構わないですか?
7 messages
2003/04/09
[#19987] Re: I quote: "Maybe IRB bug!!" — keiju@... (Keiju ISHITSUKA)
けいじゅ@ラショナルソフトウェアです.
9 messages
2003/04/09
[#19988] Re: I quote: "Maybe IRB bug!!"
— matz@... (Yukihiro Matsumoto)
2003/04/10
まつもと ゆきひろです
[#19990] Re: I quote: "Maybe IRB bug!!"
— keiju@... (石塚圭樹)
2003/04/10
けいじゅ@ラショナルソフトウェアです.
[#19992] lib/date — Tadayoshi Funaba <tadf@...5.so-net.ne.jp>
ふなばです。
8 messages
2003/04/10
[#20007] SEGV on File.stat(String.allocate) — nobu.nakada@...
なかだです。
5 messages
2003/04/11
[#20012] radix from 2 through 36 — nobu.nakada@...
なかだです。
10 messages
2003/04/11
[#20019] Re: radix from 2 through 36
— matz@... (Yukihiro Matsumoto)
2003/04/13
まつもと ゆきひろです
[#20020] Re: radix from 2 through 36
— nobu.nakada@...
2003/04/13
なかだです。
[#20024] pai.rb — Tanaka Akira <akr@...17n.org>
ふと思ったんですが、pai.rb の pai というのはπなんでしょうか?
5 messages
2003/04/14
[#20033] Exception#initialize — nobu.nakada@...
なかだです。
9 messages
2003/04/18
[#20237] Re: Exception#initialize
— matz@... (Yukihiro Matsumoto)
2003/05/20
まつもと ゆきひろです
[#20241] Re: Exception#initialize
— nobu.nakada@...
2003/05/20
なかだです。
[#20036] Re: Roundoff problem with Float and Marshal — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
16 messages
2003/04/18
[#20045] Re: Roundoff problem with Float and Marshal
— nobu.nakada@...
2003/04/20
なかだです。
[#20063] Re: Roundoff problem with Float and Marshal
— matz@... (Yukihiro Matsumoto)
2003/04/22
まつもと ゆきひろです
[#20064] Re: Roundoff problem with Float and Marshal
— matz@... (Yukihiro Matsumoto)
2003/04/23
まつもと ゆきひろです
[#20065] Re: Roundoff problem with Float and Marshal
— nobu.nakada@...
2003/04/23
なかだです。
[#20066] Re: Roundoff problem with Float and Marshal
— matz@... (Yukihiro Matsumoto)
2003/04/23
まつもと ゆきひろです
[#20038] bigdecimal/lib — Minero Aoki <aamine@...>
あおきです。
6 messages
2003/04/20
[#20047] Array#indexes and Array#select — WATANABE Hirofumi <eban@...>
わたなべです。
5 messages
2003/04/20
[#20067] failed to build ruby on HURD — akira yamada / やまだあきら <akira@...>
8 messages
2003/04/23
[#20097] jcode.rb — akira yamada / やまだあきら <akira@...>
25 messages
2003/04/26
[#20098] Re: jcode.rb
— matz@... (Yukihiro Matsumoto)
2003/04/27
まつもと ゆきひろです
[#20105] Re: jcode.rb
— WATANABE Hirofumi <eban@...>
2003/04/28
わたなべです。
[#20108] Re: jcode.rb
— matz@... (Yukihiro Matsumoto)
2003/04/28
まつもと ゆきひろです
[#20110] Re: jcode.rb
— Hiroyuki Komatsu <komatsu@...>
2003/04/28
小松です.
[#20118] Re: jcode.rb
— Shin-ichiro HARA <sinara@...>
2003/04/30
原です。
[#20132] Re: jcode.rb
— keiju@... (石塚圭樹)
2003/05/01
けいじゅ@ラショナルソフトウェアです.
[#20140] scope-in-state and import-module
— Shin-ichiro HARA <sinara@...>
2003/05/02
原です。
[#20116] Array#map — Shin-ichiro HARA <sinara@...>
原です。
12 messages
2003/04/30
[#20123] Re: Array#map
— matz@... (Yukihiro Matsumoto)
2003/04/30
まつもと ゆきひろです
[#20128] Re: Array#map
— Shin-ichiro HARA <sinara@...>
2003/05/01
原です。
[ruby-dev:20018] Re: shim/ruby16/tests
From:
matz@... (Yukihiro Matsumoto)
Date:
2003-04-13 16:30:32 UTC
List:
ruby-dev #20018
まつもと ゆきひろです
In message "[ruby-dev:20013] Re: shim/ruby16/tests"
on 03/04/12, Tanaka Akira <akr@m17n.org> writes:
|> 私自身はこれで不自然ではないと思いますが、どう思いますか?
|
|とすると、
|
|% ruby -e 'File.open("/dev/null") {|f| IO.new(f.fileno).close }'
|
|というように、ブロック中で file descriptor が close されたときに
|IOError にならないのは不自然ではないんでしょうか。
えーと、これは独立した問題ではないでしょうか。
元々の問題は
open(path){|f| f.close}
は
f = open(path)
begin
f.close
ensure
f.close
end
となるので、
f = open(path)
f.close
f.close
という実行順序になって例外を発生すると解釈できるので不自然で
はないのではないかという趣旨です。
一方、田中さんが指摘しているのは
File.open("/dev/null") {|f| IO.new(f.fileno).close }
ですから、つまり
f = open("/dev/null")
IO.new(f.fileno).close
f.close
という実行順序になり、そもそもこれは例外を発生しないので同じ
条件ではないと思います。これが例外を発生させないが不自然では
ないか、というのは意味のある言明だとは思いますが、少なくとも
独立でしょう。
---
で、元の問題に戻ると、二重closeで例外を発生させない方が親切
ではあるが、一方、隠された挙動が増えることになり、正確な説明
がややこしくなるような気もするので、一概に親切な方が良いとも
言いきれないので、決めかねています。
また、田中さんの問題については、同じfile descriptorが複数の
IOから参照される可能性があるということは、きちんとRuby全体で
file decriptorの参照管理を(リファレンスカウントのようなこと
をして)行う必要があるだろうな、と昔から考えてはいます。stdio
を捨てるときに一緒にやろうか、と漠然と考えていたのですが。
まつもと ゆきひろ /:|)