[ruby-dev:31854] Symbol.all_symbols

From: eklerni <eklerni@...>
Date: 2007-09-25 06:09:58 UTC
List: ruby-dev #31854
eklerniです。

リファレンス編集中に気づいたことについての質問です。
Symbol.all_symbolsメソッドの、式展開を含むシンボルリテラル
の扱いが1.8と1.9で変化しているのですが、これは意図した変更でしょうか。

def number
'mymake_bar'
end

p Symbol.all_symbols.select{|sym|sym.to_s.include? 'mymake'}

:'mymake_foo'
:"#{number}"

p Symbol.all_symbols.select{|sym|sym.to_s.include? 'mymake'}
__END__
#=>
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
[:mymake_foo]
[:mymake_bar, :mymake_foo]
#=>
ruby 1.9.0 (2007-09-24 patchlevel 0) [i386-mswin32_80]
[:mymake_foo]
[:mymake_foo]

In This Thread

Prev Next