::で定数のスコープ

で定数のスコープを明示的に表すサンプルです。
# スコープ
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