Digamos que tengo tres clases, cada una define en su propio archivo. p.ej. ClaseA en ClassA.rb etc ...No se puede incluir una Clase en otra clase en Ruby: constante no inicializada (NameError)
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
Como se puede ver, ClassC necesita las otras dos clases con el fin de funcionar correctamente. Supongo que debe haber una forma de importar/incluir/cargar las otras dos clases en ClassC.
Soy nuevo en Ruby y he probado todas las permutas de cargar/incluir/requerir y no puedo encontrar la manera de hacerlo funcionar.
que normalmente apenas consigo:
classc.rb:2:in `<class:ClassC>': uninitialized constant ClassC::ClassA (NameError)
from classc.rb:1:in `<main>'
O un error de sintaxis con mi importación/include/require declaraciones.
Usando Windows 7, Ruby 1.9.2, RadRails, todos los archivos están en el mismo proyecto y carpeta de origen.
Lo siento si esta pregunta es similar a algunas de las otras preguntas aquí, pero la mayoría de las respuestas para resolver la "constante no inicializada" es "solo requiere el archivo". Lo intenté y no está funcionando.
Muchas gracias. Wow – user604886