如何使用字符串作为变量名?
我希望在运行时构造我的变量名,但是如何将其用作左参数并为其分配值?
例子:
[`$"test"] : 1 / 'assign error
Run Code Online (Sandbox Code Playgroud)
您可以使用“set”,但它会创建一个全局:
q){(`$"test") set 1;test}[]
1
q)test
1
Run Code Online (Sandbox Code Playgroud)
或(如user2393012在评论中所述):
@[`.;`test;:;1]
Run Code Online (Sandbox Code Playgroud)
如果你想避免全局变量,你可以使用某种命名空间/字典/映射:
q){d:()!();d[`$"test"]:1;d`test}[]
1
Run Code Online (Sandbox Code Playgroud)