Diciamo che ho tre classi, ciascuna definita nel proprio file. per esempio. ClasseA in ClassA.rb ecc ...Impossibile includere una classe in un'altra classe in Ruby: costante non inizializzata (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
Come si può vedere, ClassC ha bisogno delle altre due classi, al fine di funzionare correttamente. Presumo, ci deve essere un modo per importare/includere/caricare le altre due classi in ClassC.
Sono nuovo di Ruby e ho provato ogni permutazione di carico/include/require e non riesco a capire come farlo funzionare.
Io di solito appena ottenere:
classc.rb:2:in `<class:ClassC>': uninitialized constant ClassC::ClassA (NameError)
from classc.rb:1:in `<main>'
O un errore di sintassi con la mia import/include/richiedono dichiarazioni.
Utilizzando Windows 7, Ruby 1.9.2, RadRails, tutti i file si trovano nello stesso progetto e nella cartella di origine.
Mi dispiace se questa domanda è simile ad alcune delle altre domande qui, ma la maggior parte delle risposte alla risoluzione della "costante non inizializzata" è "richiede solo il file". Ho provato e non funziona.
Grazie mille. Wow – user604886