kdb+: 使用字符串作为变量名
kdb+: use string as variable name
如何使用字符串作为变量名?
我希望在运行时构造我的变量名,但如何将它用作左参数并为其赋值?
示例:
[`$"test"] : 1 / 'assign error
您可以使用 "set" 但它会创建一个全局的:
q){(`$"test") set 1;test}[]
1
q)test
1
或(如评论中user2393012所述):
@[`.;`test;:;1]
如果你想避免使用全局变量,你可以使用某种 namespace/dictionary/mapping:
q){d:()!();d[`$"test"]:1;d`test}[]
1
如何使用字符串作为变量名?
我希望在运行时构造我的变量名,但如何将它用作左参数并为其赋值?
示例:
[`$"test"] : 1 / 'assign error
您可以使用 "set" 但它会创建一个全局的:
q){(`$"test") set 1;test}[]
1
q)test
1
或(如评论中user2393012所述):
@[`.;`test;:;1]
如果你想避免使用全局变量,你可以使用某种 namespace/dictionary/mapping:
q){d:()!();d[`$"test"]:1;d`test}[]
1