非常感谢某人的帮助。
我遇到以下情况:
module Tester
def testing
x = "This works"
end
end
class Dog
include Tester
puts x
end
当我尝试从类Dog(puts x
)中访问变量时,出现undefined variable x
错误。谁能告诉我如何才能访问它?
答案 0 :(得分:0)
Ruby支持模块中的类变量,因此您可以为模块定义任何类变量,如下所示:
Module Tester
@@x = 'default'
def testing
@@x = "This works"
end
def get_x
@@x
end
end
class Dog
include Tester
puts @@x # get_x
end
#=> default
如果您希望显示“此作品”文字,则需要先调用testing
方法:
Tester.testing
puts Tester.get_x #=> "This works"