gpt4 book ai didi

static-variables - Crystal 静态变量

转载 作者:行者123 更新时间:2023-12-02 03:46:11 27 4
gpt4 key购买 nike

Crystal 是否有静态变量,或者我必须在文件/全局范围内使用全局变量吗?

def test(value)
static var = 1
var += value
return var
end

pp test 0 #=> 1
pp test 1 #=> 2
pp test 1 #=> 3
pp test 0 #=> 3

最佳答案

Crystal 没有作用于方法的静态变量。您需要使用class variables为此:

class Test
@@var = 1
def self.test(value)
@@var += value
return @@var
end
end

pp Test.test 0 #=> 1
pp Test.test 1 #=> 2
pp Test.test 1 #=> 3
pp Test.test 0 #=> 3

您还可以使用宏class_propertyclass_setterclass_getter

class Test
class_property var = 1
end

Test.var += 0
pp Test.var #=> 1
Test.var += 1
pp Test.var #=> 2
Test.var += 1
pp Test.var #=> 3
Test.var += 0
pp Test.var #=> 3

关于static-variables - Crystal 静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46679141/

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