Ответ 1
В Ruby чтение и запись переменных @instance
(и @@class
переменных) объекта должно выполняться с помощью метода на этом объекте. Например:
class TestClass
@@variable = "var"
def self.variable
# Return the value of this variable
@@variable
end
end
p TestClass.variable #=> "var"
Ruby имеет встроенные методы для создания простых методов доступа. Если вы будете использовать переменную экземпляра класса (вместо переменной класса):
class TestClass
@variable = "var"
class << self
attr_accessor :variable
end
end
Ruby on Rails предлагает метод удобства специально для переменных класса:
class TestClass
mattr_accessor :variable
end