0

私はこの構造を持っています:

class1 < class2

単純な子<親の関係。

モジュールmodule1を入手しました。

ファイルCLASS_1.rb:

class1 < class2

end

ファイルCLASS_2.rb:

class2
  include module1
end

ファイルMODULE_1.rb:

module module1

end

なぜ私はこれを手に入れるのですか?

'<class:class2>': uninitialized constant class2::module1 (NameError)
4

2 に答える 2

2

クラス/モジュール名は定数である必要があります(つまり、大文字で始まります)。

class Class1 < Class2
  include Module1
end

また、対応するファイルを要求することを忘れないでください。

# class1.rb
require_relative 'class2'
require_relative 'module1'

class Class1 < Class2
  include Module1
end
于 2012-11-01T10:55:34.783 に答える
2

module1含まれるまでに作成する必要があります。class2CLASS_2.rbでの定義/作成の前にMODULE_1.rbをロードまたは要求していない場合はmodule1、に含まれるときに作成されませんclass2

于 2012-11-01T10:55:48.577 に答える