class Shape
def initialize()
@blah = ""
end
end
或者…这行吗?
class Shape
@blah = ""
def initialize()
end
end
另外,默认情况下,实例变量是公共的还是私有的?你如何将它们设置为公共的还是私有的?
最佳答案
第二个示例将@blah
初始化为类变量它不能直接访问(它需要一个类访问器),并且在类的所有实例中都是一样的。
实例变量本质上是私有的,尽管您可以使用@foo.instance_variable_get("@blah")
访问它们通常,如果您想要访问一个@blah
实例变量,您可以添加一个访问器。
class Shape
attr_accessor :blah
end
例如,这会让你说,
shape = Shape.new; shape.blah = "whee"; puts shape.blah
(你会得到“whee”)。