class << self
attr_accessor :n, :totalX, :totalY
end
Синтаксис выше используется для определения переменных экземпляра класса. Но когда я думаю о синтаксисе, это не имеет для меня никакого смысла, поэтому мне интересно, используется ли этот тип синтаксиса для любых других типов определений. Здесь моя точка зрения:
class << self
Оператор append обычно означает "добавить то, что справа от объекта слева". Но в контексте этого блока, как это добавляет "помещать содержимое этого блока в определение экземпляра класса, а не экземпляра"?
По той же причине я путаюсь, почему в одном контексте класс < < self может определять переменные экземпляра класса, а в другом - создавать переменные класса, такие как здесь:
class Point
# Instance methods go here
class << self
# Class methods go here
end
end