[exerb-dev:0450] Re: 1.8.2でエラー

Back to archive index

WATANABE Hirofumi eban****@os*****
2005年 1月 3日 (月) 01:14:55 JST


わたなべです。

Takeshi Komiya <katsu****@dd*****> writes:

>   pack の仕様が変化したのか、[nil].pack('S') が失敗するために
>   exerb の各所でエラーが起きるようです。
>   ('S' だけでなく、数値変換全般('L' や 'N' など)で発生するようです)
> 
>   % ruby -e 'p [nil].pack("S")'
>   -e:1:in `pack': cannot convert nil into Integer (TypeError)
>           from -e:1
> 
> 
>   とりあえず、pack('S') や pack('L') している箇所に nil がわたらないように
>   強引に nil => 0 という変換をした結果、a.rb は動作するようになりました。
>   (他に exerb サンプルの exception.rb, msgbox.rb も確認しました)
>   adhoc な修正ですが、パッチを添付します。

adhocにいくなら
  class NilClass
    def to_int
      0
    end
  end
をどこか共通にrequireされるファイルに入れてしまうのが簡単かもしれません。

-- 
わたなべひろふみ



exerb-developer メーリングリストの案内
Back to archive index