`The rubyist'【えぬ】の日記

 | 

2009-03-06

Symbol, to_sym Symbol, to_sym - `The rubyist'【えぬ】の日記 を含むブックマーク はてなブックマーク - Symbol, to_sym - `The rubyist'【えぬ】の日記

1.8では\0を含むSymbolは作れない。

% ruby -ve 'p "\0zzz".to_sym;'
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
-e:1:in `to_sym': symbol string may not contain `\0' (ArgumentError)
        from -e:1

% ruby -ve 'p :"\0zzz";'
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
-e:1: symbol cannot contain '\0'

1.9ではto_symを使えば作れる。

% ruby19 -ve 'p "\0zzz".to_sym;'
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
:"\x00zzz"

でも\0を含むSymbolリテラルはだめ。

% ruby19 -ve 'p :"\0zzz"'
ruby 1.9.1p0 (2009-01-30 revision 21907) [i686-linux]
-e:1: symbol cannot contain '\0'
 |