【发布时间】:2011-06-22 02:29:08
【问题描述】:
假设我有三个类,每个类都在自己的文件中定义。例如ClassA.rb 中的 ClassA 等...
class ClassA
def initialize
end
def printClassA
puts "This is class A"
end
end
class ClassB
def initialize
end
def printClassB
puts "This is class B"
end
end
class ClassC
def initialize
end
def bothClasses
a = ClassA.new
b = ClassB.new
a.printClassA
b.printClassB
end
end
如您所见,ClassC 需要其他两个类才能正常运行。我认为,需要有一种方法可以在 ClassC 中导入/包含/加载其他两个类。
我是 Ruby 新手,我已经尝试了 load/include/require 的所有排列,但我不知道如何让它运行。
我通常只会得到:
classc.rb:2:in `<class:ClassC>': uninitialized constant ClassC::ClassA (NameError)
from classc.rb:1:in `<main>'
或者我的 import/include/require 语句出现语法错误。
使用 Windows 7、Ruby 1.9.2、RadRails,所有文件都在同一个项目和源文件夹中。
如果这个问题与此处的其他一些问题相似,我很抱歉,但解决“未初始化常量”的大多数答案是“只需要文件”。我试过了,还是不行。
【问题讨论】:
标签: ruby include constants require initialization