kdb +:使用string作为变量名

时间:2015-04-26 11:18:55

标签: kdb

如何将字符串用作变量名?

我希望在运行时构造变量名,但是如何将其用作左参数并为其赋值?

示例:

[`$"test"] : 1              / 'assign error

1 个答案:

答案 0 :(得分:4)

你可以使用“set”但它会创建一个全局:

q){(`$"test") set 1;test}[]
1
q)test
1

或(如评论中user2393012所述):

@[`.;`test;:;1]

如果你想避免使用全局变量,你可以使用某种命名空间/字典/映射:

q){d:()!();d[`$"test"]:1;d`test}[]
1