module Add
def addition
sum=1+2
puts sum
end
a=Add.addition
誰かが私が行方不明です、なぜ私はこのエラー - 追加のために>NoMethodError
未定義のメソッド `加えて」取得しています何を教えてもらえます:モジュール(NoMethodError)したい場合は
module Add
def addition
sum=1+2
puts sum
end
a=Add.addition
誰かが私が行方不明です、なぜ私はこのエラー - 追加のために>NoMethodError
未定義のメソッド `加えて」取得しています何を教えてもらえます:モジュール(NoMethodError)したい場合は
クラスメソッドとインスタンスメソッドが混乱しています。あなたの定義:あなたはモジュールAdd
上のメソッドを呼び出したのに対し、
module Add
def addition
...
end
end
はAdd
のインスタンスでメソッドを定義します。クラス/モジュールメソッドを定義する場合は、次のように定義する必要があります。
module Add
def self.addition
...
end
end
を
def self.addition
# ...
end
をそれとも、常にこの使用して手直しすることができます:
を、直接それを呼び出す直接アクセスメソッドとして定義することができるようにしますmodule Add
# ...(methods)...
extend self
end
ここで、自動的にすべてのmixinタイプのメソッドが直接アクセス可能であると宣伝されます。
また、このように、より選択的にそれらをタグ付けすることができます。
module Add
def addition
# ...
end
module_method :addition
end
方法はAdd.addition
として、またはいくつかの他のモジュールまたはクラスがinclude Add
を呼び出す場合のいずれか利用可能であること。