■ [ruby] クラス名と名前空間かぶるとダメ? Foo::Bar というクラスのクラスメソッドを Fuga::Foo のメソッドの中で使おうとしたら、Fuga::Foo::Bar なんてクラス無いよと怒られたのでメモ。 追記 IRC で lyokato さんが答えを教えてくれました。 lyokato: ::Foo::Barにしたら呼べるよ! module Fuga class Foo def hogera() p ::Foo::Bar.test # 頭に :: をつける 'Fuga::Foo.hogera' end end end foo = Fuga::Foo.new p foo.hogera これで上手く行きました。 実行結果 "Foo::Bar.test" "Fuga::Foo.hogera" どうも呼び出したコンテキストの階層から探しに行って、Fuga::Foo に Foo が
![クラス名と名前空間かぶるとダメ?](https://cdn-ak-scissors.b.st-hatena.com/image/square/723b26c37d20c8f961bf3f00561afe4779c99f1e/height=288;version=1;width=512/http%3A%2F%2Fvkgtaro.jp%2Fimages%2Fvkgtaro2008.jpg)