【发布时间】:2011-02-19 19:20:24
【问题描述】:
我正在开发一个 ruby 程序并遇到了以下问题。
我有两个类 AClass 和 BClass 如下:
class AClass
attr_accessor :avar
def initialize(input)
@avar = input
end
end
class BClass
def BClass.build(aclass)
bvalue = aclass.avar
....
end
end
当我跑步时:
aclass = AClass.new
puts aclass.avar
bclass = BClass.build(aclass)
前两行工作正常。 aclass 已初始化,avar 已显示在屏幕上,但第三行会产生错误。我似乎 BClass 构建方法无法访问 AClass 实例变量。我需要做什么才能完成这项工作。我认为 attr_accessor 将使我能够访问 AClass 实例变量。提前感谢您的意见。
【问题讨论】:
-
avar 和 avar1 有 2 个不同的变量。第一行
class AClass(input)也不是 ruby... -
Augusto,抱歉打错了。这两个变量都应该是 avar。我已经进行了更正。谢谢。
-
但还是在正确的地方输入?
-
津巴巴 - 你是对的。输入在错误的地方。谢谢。
-
为了将来参考,具有
AClass类的对象通常称为a_class,而不是aclass。
标签: ruby instance-variables attr-accessor