1

モジュールにそれ自体が存在するクラスにシングルトンモジュールを含めようとすると、機能しません。次に例を示します。

require 'singleton'

module SomeModule
end

class SomeModule::SomeClass
  include Singleton

  def initialize
    @some_variable = 1
  end

  def output
    puts @some_variable
  end
end

SomeClass.instance.output

私が得るエラーは次のとおりです。

初期化されていない定数Object::SomeClass(NameError)

シングルトンモジュールに検索しSomeModule::SomeClassないように指示する方法がわかりませんObject::SomeClass

4

1 に答える 1

2

問題は、モジュール名を付加せずにSomeClassクラスを呼び出していることです。モジュール名を追加して、機能させます。

SomeModule::SomeClass.instance.output
于 2011-02-16T17:26:10.393 に答える