1

可能重复:
类变量和类实例变量之间的区别?

我想了解这里的区别:

class Blog
  class << self
    def tags (default_tags)
      @tags ||= default_tags
    end
  end
end

现在,Blog.tags 总是返回最初分配的内容。由于我正在使用 Rails,因此每个请求都是如此。

上面的@tags 是类级别的实例变量,似乎与@@tags 类似,后者是类变量。它们实际上是一样的吗?两者之间是否有任何区别,并决定选择哪一个而不是另一个?

还是我的理解完全错误?

ps:这显然是一个虚构的例子

4

0 回答 0