Module MyMod
class MyClass
...
method1()
end
class MyClass2
...
method1()
end
private
def method1()
...
end
end
我在猜测,称他们如下:
a = MyMod::MyClass.new
但它给了我一个错误,即method1不可用。
沿着这些方向的东西?我尝试使用自习,但似乎没有用。
谢谢!
答案 0 :(得分:1)
请尝试这种方式
module MyModule
class A
def my_method_a
MyModule.my_method
end
end
class B
def my_method_b
MyModule.my_method
end
end
private
module_function
def my_method
puts "hello"
end
end
和 然后
a = MyModule::A.new
a.my_method_a
答案 1 :(得分:0)
是的,你可以这样做,例如。
module MyModule
class A
def my_method_a
my_method
end
end
class B
def my_method_b
my_method
end
end
private
def my_method
puts "hello"
end
end
a = A.new
a.my_method_a
output => "hello"
但是你将无法使用a.my_method,因为它是一种私人方法。