我刚刚学习了php中的静态变量。在红宝石里有这样的东西吗?
例如,如果我们想要创建一个Student
类,并且对于我们创建的每个student
对象,它的id号应该自动递增。
我认为创建类变量作为静态变量就可以了。
发布于 2010-03-10 19:24:12
类变量在所有实例之间共享(这就是为什么它们被称为类变量),因此它们将执行您想要的操作。它们也是继承的,这有时会导致相当混乱的行为,但我不认为这在这里会是一个问题。下面是一个使用class变量来计算已经创建了多少个实例的类的示例:
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
https://stackoverflow.com/questions/2416372
复制相似问题