Невозможно включить класс в другой класс в Ruby: неинициализированная константа (NameError)

Допустим, у меня есть три класса, каждый из которых определяется в собственном файле. например, ClassA в ClassA.rb и т.д ...

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 все файлы находятся в одном месте проект и исходная папка.

Прошу прощения, если этот вопрос похож на некоторые другие вопросы здесь, но большинство ответов на разрешение «неинициализированной константы» - это «просто требовать файл». Я пробовал, и это не так t работает.

13
задан user604886 6 February 2011 в 01:07
поделиться