|
|
||
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'