... 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 件のコメント:
コメントを投稿