Я просто узнал о статических переменных в php. Есть ли что-нибудь как этот в рубине?
Например, если мы хотим создать a Student
класс и для каждого student
объект, который мы создаем, его идентификационный номер, должен быть увеличен автоматически.
Я думал, создавая переменную класса, как помехи сделают.
Переменные класса являются общими для всех экземпляров (поэтому они называются переменными класса), поэтому они будут делать то, что вы хотите. Они также передаются по наследству, что иногда приводит к довольно запутанному поведению, но я не думаю, что здесь будет проблема. Вот пример класса, который использует переменную класса для подсчета количества созданных экземпляров:
class Foo
@@foos = 0
def initialize
@@foos += 1
end
def self.number_of_foos
@@foos
end
end
Foo.new
Foo.new
Foo.number_of_foos #=> 2