Crystal 关联数组
Crystal associative arrays
如何在 Crystal 中创建关联数组?
在这种情况下,我需要一个布尔值数组来配置多个 类。
例如:
arr = ??? # what do i place here to make it work ?
arr[:download] = true
arr[:parse] = true
myClass.new(arr)
我不想开始猜测不同的值是否随着时间的流逝(是下载 arr[0] 还是 arr[1]?)
我可以为数组使用枚举
enum Conf
dowload
parse
end
然后以这种方式使用这些值
arr[Conf::download] = true
arr[Conf::parse] = true
但好像没那么好用
您可能正在寻找 NamedTuple:
arr = {
download: true,
parse: true
}
如果键是在编译时,这可能是最好的。
否则,您需要使用 Hash,它的行为更像是动态语言中的关联数组。
如何在 Crystal 中创建关联数组?
在这种情况下,我需要一个布尔值数组来配置多个 类。
例如:
arr = ??? # what do i place here to make it work ?
arr[:download] = true
arr[:parse] = true
myClass.new(arr)
我不想开始猜测不同的值是否随着时间的流逝(是下载 arr[0] 还是 arr[1]?)
我可以为数组使用枚举
enum Conf
dowload
parse
end
然后以这种方式使用这些值
arr[Conf::download] = true
arr[Conf::parse] = true
但好像没那么好用
您可能正在寻找 NamedTuple:
arr = {
download: true,
parse: true
}
如果键是在编译时,这可能是最好的。 否则,您需要使用 Hash,它的行为更像是动态语言中的关联数组。