西山和広です。

こういう話があるようです。

http://developer.momonga-linux.org/kagemai/guest.cgi?project=momongaja&action=view_report&id=126
| $ rpm -q ruby
| ruby-1.8.3-0.1.4m
| $ echo "a[0]" | ruby -rirb/ruby-lex -e 
| 'RubyLex.new.lex'
| /usr/lib/ruby/1.8/irb/ruby-lex.rb:970:in `identify_number': 
| numeric literal without digits (RubyLex::SyntaxError)
|         from /usr/lib/ruby/1.8/irb/ruby-lex.rb:721:in `lex_int2'
|         from /usr/lib/ruby/1.8/irb/ruby-lex.rb:717:in `call'
|         from /usr/lib/ruby/1.8/irb/slex.rb:237:in `match_io'
|         from /usr/lib/ruby/1.8/irb/slex.rb:76:in `match'
|         from /usr/lib/ruby/1.8/irb/ruby-lex.rb:287:in `token'
|         from /usr/lib/ruby/1.8/irb/ruby-lex.rb:263:in `lex'
| 
| $ echo "a[1]" | ruby -rirb/ruby-lex -e 
| 'RubyLex.new.lex'
| は正常終了する。
| 
| 0が8進プレフィックスとして捨てられたままになっている?


Debian sargeでコンパイルした
ruby 1.8.3 (2005-06-25) [i686-linux] と
ruby 1.9.0 (2005-06-25) [i686-linux] でも
再現することを確認しました。


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)