我在开发一个项目时遇到了一些奇怪的困难。由于我对类的经验不足,所以我在这里询问。我有一个类,它是用一个参数初始化的,我需要其他类调用该类的函数,但在该类初始化之前我无法这样做,因此我想知道如何解决这个问题。
以下是我所讲述的一些示例:
class AVR
def initialize(device)
@device = device
@avr_conf = YAML::load(File.open("./devices/#{device}.yaml"))
end
def avr_conf
return @avr_conf
end
end
class IO
def setMode(a,b)
"#{AVR.avr_conf[a]} = #{b}"
end
end
AVR
需要初始化一个device
,而在setMode
方法中没有设备。你没有展示IO
类的完整代码吗? - Sergio Tulentsevclass IO
的setMode
尝试在 AVR 上运行一个单例方法... 是吗?AVR 一定还有更多内容...def self.avr_conf
必须在某个地方吧? - slindsey3000