Я пытаюсь получить доступ к переменному экземпляру класса в другом классе, но я получаю:Получение неопределенного метода ноля: NilClass при попытке Асесса Экземпляра varible
:in `lies_outside?': undefined method `x_coordinate' for nil:NilClass (NoMethodError)
Это где I`m с помощью переменная:
class Grid
def initialize(size)
@size = size
@current_Location = Point.new(0, 0)
@temp_loaction = Point.new(0, 0)
end
def lies_outside?
if @temp_location.x_coordinate < 0 || @temp_location.x_coordinate >= @size
return false
elsif @temp_location.y_coordinate < 0 || @temp_location.y_coordinate >= @size
return false
end
end
И это класс, где переменная:
class Point
attr_reader :x_coordinate
attr_reader :y_coordinate
def initialize (x, y)
@x_coordinate = x
@y_coordinate = y
@x = @y = 0
end
Я опустил все другие методы в этих классах и во всех других классах, потому что это назначение, и мне нужна помощь только с этой проблемой.
Важно, чтобы ваш примерный код был, по крайней мере, синтаксически правильным. Как и в Ruby, он даже не запускает его, потому что вы опускаете закрывающие 'end' -программы для ваших классов. Частью написания хорошего вопроса является то, что вы должны включить «кратчайший код, необходимый для его воспроизведения», «это» - проблема, о которой вы просите. –