タグ

ブックマーク / vkgtaro.jp (1)

  • クラス名と名前空間かぶるとダメ?

    ■ [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 が

    クラス名と名前空間かぶるとダメ?
    ngsw
    ngsw 2010/01/16
    $ cat /etc/foo.conf と $ cat etc/foo.conf みたいなものかなー。
  • 1