gpt4 book ai didi

ruby - 为什么ruby中有类变量?

转载 作者:数据小太阳 更新时间:2023-10-29 08:05:59 24 4
gpt4 key购买 nike

如果创建类变量通常是危险且不可预测的,为什么我们需要它们?如果解决方案只是将类实例变量与类级别访问器一起使用:

class Foo
@variable = :something

def self.getvariable
@variable
end

def self.setvariable(value)
@variable = value
end
end

那为什么我们需要类变量???

最佳答案

类变量有时会用到,但我同意使用特征类通常更有用:

class Foo
@bar = 'bar'
class << self
attr_accessor :bar
end
end

puts Foo.bar # bar
puts Foo.bar = 'baz' # baz

上面的继承是安全的,因为它在 Foo 常量中设置了一个变量,而不是类变量。

Foo.new.instance_eval { puts @@bar } # error

关于ruby - 为什么ruby中有类变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6693552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com