假设有三个班:A
、B
和;C
.我希望每个类都有一个类方法,比如self.foo
,对于A
、B
和;C
是否可以在一个模块中定义self.foo
,并在A
、B
和amp;C
? 我试图这么做,但收到一条错误消息,说foo
无法识别.
假设有三个班:A
、B
和;C
.我希望每个类都有一个类方法,比如self.foo
,对于A
、B
和;C
是否可以在一个模块中定义self.foo
,并在A
、B
和amp;C
? 我试图这么做,但收到一条错误消息,说foo
无法识别.
module Common
def foo
puts 'foo'
end
end
class A
extend Common
end
class B
extend Common
end
class C
extend Common
end
A.foo
或者,您可以在之后扩展这些类:
class A
end
class B
end
class C
end
[A, B, C].each do |klass|
klass.extend Common
end