From: "NAKAMURA, Hiroshi" Date: 2003-11-11T14:58:17+09:00 Subject: [ruby-dev:21891] `write': closed stream (IOError) from benckmark なひです。 こんなエラーが出ます。 $ cat foo.rb && ruby -v foo.rb require 'benchmark' Benchmark.bmbm do |x| f = File.open("out", "w") x.report do f << "abc" end f.close end ruby 1.8.1 (2003-11-11) [i686-linux] Rehearsal ------------------------------------ foo.rb:6:in `write': closed stream (IOError) from foo.rb:6:in `<<' from foo.rb:6 from foo.rb:5:in `measure' from /usr/local/lib/ruby/1.8/benchmark.rb:296:in `bmbm' from /usr/local/lib/ruby/1.8/benchmark.rb:294:in `each' from /usr/local/lib/ruby/1.8/benchmark.rb:294:in `bmbm' from foo.rb:3 * f.closeをなくすと期待通り動きます。 * x.reportの中でなければ(f << "abc"を外に出すと)以下同様。 本当はbenchmarkの中まで分解して、最小セットを作るべきですね。 すいません。