From: "滝沢裕章" Date: 2010-04-02T11:53:20+09:00 Subject: [ruby-dev:40906] Benchmark::Tms#add!がNameErrorになる 滝沢といいます。 Benchmark::Tms#add!を実行すると、以下のようにNameErrorが発生します。 % ruby -v -r benchmark -e 'Benchmark::Tms.new.add! {}' ruby 1.9.1p378 (2010-01-10 revision 26273) [i686-linux] /usr/local/lib/ruby/1.9.1/benchmark.rb:444:in `add!': undefined local variable or method `blk' for # (NameError) from -e:1:in `
' add!の引数が指定されていないのが原因だと思います。 % diff -u benchmark.rb.orig benchmark.rb --- benchmark.rb.orig 2010-04-02 11:23:22.000000000 +0900 +++ benchmark.rb 2010-04-02 11:31:10.000000000 +0900 @@ -440,7 +440,7 @@ # # An in-place version of #add. # - def add! + def add!(&blk) t = Benchmark::measure(&blk) @utime = utime + t.utime @stime = stime + t.stime ご確認よろしくお願いします。 -- 滝沢 裕章 takky818@gmail.com