::で定数のスコープ
- で定数のスコープを明示的に表すサンプルです。
# スコープ Value = 1 class MyClass Value = 2 def method print ::Value, "\n" # => 1 print MyClass::Value, "\n" # => 2 print Value, "\n" # => 2 for x in 1..1 print Value, "\n" # => 2 end end end print "** out **\n"; print Value, "\n"; # => 1 print ::Value, "\n"; # => 1 print MyClass::Value, "\n"; # => 2 print "** in **\n"; a = MyClass.new; a.method
実行結果
** out ** 1 1 2 ** in ** 1 2 2 2