From: Nobuyoshi Nakada Date: 2007-12-04T20:17:55+09:00 Subject: [ruby-dev:32453] Re: `split': negative string size (or size too big) (ArgumentError) なかだです。 At Tue, 4 Dec 2007 17:52:27 +0900, Tanaka Akira wrote in [ruby-dev:32452]: > "あいうえお".force_encoding("euc-jp").split(//) と (EUC-JP > で) 行うと negative string size となります。 > > % ./ruby -ve 'p "あいうえお".force_encoding("euc-jp").split(//)' > ruby 1.9.0 (2007-12-04 patchlevel 0) [i686-linux] > -e:1:in `split': negative string size (or size too big) (ArgumentError) > from -e:1:in `
' rb_reg_search()が文字単位の位置を返すのに、rb_str_split_m()では byte位置として使っているためですね。BEG()やEND()もbyte位置のまま なので、メソッドの戻り値として返すときに文字位置に変換するように したほうがいいのではないでしょうか。 -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦