From: "T.Kitahara" Date: 2007-11-12T22:43:18+09:00 Subject: [ruby-list:44215] String#to_i(n) 仕様変更? Kitaといいます。 ruby 1.8.6-p111 から String#to_i(n) の挙動が微妙に変わったようです。  "0xff".to_i(16) => 255  "0x_ff".to_i(16) => 0 となります。 以前は   "0x_ff".to_i(16) も255 を返していました。 これは意図された変更でしょうか? 実行例: % ./ruby -ve 'p "0x_ff".to_i(16)' ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-freebsd6.2] 255 % ./ruby -ve 'p "0x_ff".to_i(16)' ruby 1.8.6 (2007-06-07 patchlevel 36) [i386-freebsd6.2] 255 % ./ruby -ve 'p "0x_ff".to_i(16)' ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd6.2] 0 % ./ruby -ve 'p "0x_ff".to_i(16)' ruby 1.8.6 (2007-11-09 patchlevel 5000) [i386-freebsd6.2] 0 % ./ruby -ve 'p "0xff".to_i(16)' ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-freebsd6.2] 255 % ./ruby -ve 'p "0xff".to_i(16)' ruby 1.8.6 (2007-06-07 patchlevel 36) [i386-freebsd6.2] 255 % ./ruby -ve 'p "0xff".to_i(16)' ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd6.2] 255 % ./ruby -ve 'p "0xff".to_i(16)' ruby 1.8.6 (2007-11-09 patchlevel 5000) [i386-freebsd6.2] 255 # 0b... 0o... 0d... でも同様です。 でも`0x'を付けないと変換してくれる。 % ./ruby -ve 'p "_ff".to_i(16)' ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-freebsd6.2] 255 以上