...
53 try_count = 0
54 begin
55 try_count++
56 gz = Zlib::GzipReader.wrap(workf)
57 rescue Zlib::GzipFile::Error => e
58 if try_count < 3
59 retry
60 else
61 STDERR.puts "WARNING: "+e.message
62 end
63 ensure
...
上のようなコード(gzip圧縮ファイルを直接扱う処理)を書いていたのですが、これを実行すると次のようなエラーになり、
xxx.rb:56: undefined method `+@' for #<Zlib::GzipReader:0x7f134cbb98b8> (NoMethodError)56行目を間違っている??と思って、なんのこっちゃとアタフタすること1時間くらい。。。 もしかして++がいけないのかなと、try_count +=1 にしたらエラーが出なくなりました。 Ruby には、++ないんだねー! 知りませんでした。
2011-03-15追記
なぜなのかについては、下記を参照。
http://okwave.jp/qa/q4634346.html

0 件のコメント:
コメントを投稿