Hiroyuki Komatsu
komat****@taiya*****
2004年 3月 3日 (水) 03:44:52 JST
小松です。 > At Tue, 02 Mar 2004 09:47:59 +0900, > T Mishima wrote: > > > <http://www9.big.jp/~t-34/tdiary/?date=20040301#p01> > > を書いたひとです.責任を取ってとりあえず中間報告させていただきます. > > みしまさん、詳細なレポートありがとうございます。原因が分かりましたので > 報告させていただきます。 > > エラーの理由は、Ruby1.8 で追加された仕様を PRIME が使用していたため > でした。具体的には Array.new([0,1,2]) という入力を Ruby1.6 では受け > 付けない点でした。 > > | % irb1.8 > | irb(main):001:0> Array.new([0,1,2]) > | => [0, 1, 2] > | irb(main):002:0> > > | % irb1.6 > | irb(main):001:0> Array.new([0,1,2]) > | TypeError: failed to convert Array into Integer > | from (irb):1:in `initialize' > | from (irb):1:in `new' > | from (irb):1 > > これから直します。 直して 0.7.a.1 をリリースしました。 <http://prime.sourceforge.jp/src/prime-0.7.a.1.tar.gz> -- 小松弘幸 ----------------------- http://taiyaki.org/ FYI: lib/taiyaki.rb で以下のようにして直しました。 ### Considering under compatibility with Ruby1.6 begin Array.new([]) rescue TypeError class Array alias original_initialize initialize def initialize(value = 0) if value.kind_of?(Array) then original_initialize(value.length) self.length.times {|i| self[i] = value[i] } else original_initialize(value) end end end end