Я пытаюсь установить значение по умолчанию в переменной экземпляра. Я делаю:
module MyModule::MyOtherModule
class MyClass
attr_accessor :point
def initialize
@point = Point.new(0,1)
end
end
end
module MyModule
class Point
attr_accessor :x, :y
def initialize(x, y)
@x = x
@y = y
end
end
end
Точка - это тоже класс, который я написал. Самое смешное, что когда я запускаю этот образец, я получаю:
uninitialized constant MyModule::MyOtherModule::MyClass::Point (NameError)
Но если я перенесу присвоение в другой метод вместо конструктора - скажем, foo - ошибка не произойдет. Я думаю, это говорит о том, что это не связано с расположением модуля. Итак, что не так?