A
/*
*
*/
Size: a a a
A
A
PM
AI
VM
class AКогда я вызову метод
def initialize
@a = 0
end
def b
a = a + 1
puts a
end
def a
@a
end
def a=(v)
@a = v
end
end
A.new.b, то упадет ошибкаNoMethodError: undefined method `+' for nil:NilClass
a, которая ровна nil и потом падает ошибка при a = a + 1.def a=(v)?В
SP
class AКогда я вызову метод
def initialize
@a = 0
end
def b
a = a + 1
puts a
end
def a
@a
end
def a=(v)
@a = v
end
end
A.new.b, то упадет ошибкаNoMethodError: undefined method `+' for nil:NilClass
a, которая ровна nil и потом падает ошибка при a = a + 1.def a=(v)?a + 1 где там обращение к сеттеру?В
В
VM
a + 1 где там обращение к сеттеру?def a= сетер обявленый чуть нижеВ
VM
SP
def a= сетер обявленый чуть нижеa + 1 к нему нет обращенияVM
a + 1 к нему нет обращенияa + 1, a это уже новая локальная переменая, которая создалась при вызове a =В
VM
VM
VM