@ и self, например код
class Apple
attr_accessor :size, :color
def initialize(size, color)
@size = size
@color = color
end
end
и код
class Apple
attr_accessor :size, :color
def initialize(size, color)
self.size = size
self.color = color
end
end
в двух вариантах они вроде выдают одинаковый функционал, но в чем разница?
Все очень просто - вы вызываете сеттер в классе, а не за ним
В одном случае напрямую присваиваете инстанс-переменную, в другом используя метод
Обсуждают сегодня