Я пытаюсь изучить рубин более подробно, прежде чем перейти к разработке rails, но у меня возникли некоторые проблемы при изучении классов.Я не могу понять, почему следующее не работает.
#point.rb
class Point
attr_accessor :x, :y
def initialize(p = [0,0])
@x = p[0]
@y = p[1]
end
end
#shape.rb
require_relative 'point.rb'
class Shape
attr_accessor :points
def initialize *the_points
for p in the_points
@points.append Point.new(p)
end
end
end
s = Shape.new([3,2])
puts s.points
Когда я вызываю функцию, я получаю сообщение об ошибке метода для NilClass, который, как я предполагаю, ссылается на @ point.append.