Function 在Kdb中,如何将符号列表分配给值列表

Function 在Kdb中,如何将符号列表分配给值列表,function,dictionary,variable-assignment,kdb,Function,Dictionary,Variable Assignment,Kdb,例如,我想将一个包含10对的字典传递给一个函数,以绕过8价限制。然后,我希望字典中的每个键都被指定为一个局部变量,并将它们的值作为函数的参数。或者,有没有更好的方法来实现这一点?恐怕没有办法从功能上为局部范围变量赋值。例如 {eval parse "a: 10";}1b 创建全局变量a 您可以修复一些作用域名称,例如.l,在函数返回之前保留变量并清除作用域,例如: { eval each (:),'flip (`$".l.",/:string ke

例如,我想将一个包含10对的字典传递给一个函数,以绕过8价限制。然后,我希望字典中的每个键都被指定为一个局部变量,并将它们的值作为函数的参数。或者,有没有更好的方法来实现这一点?

恐怕没有办法从功能上为局部范围变量赋值。例如

{eval parse "a: 10";}1b 
创建全局变量
a

您可以修复一些作用域名称,例如
.l
,在函数返回之前保留变量并清除作用域,例如:

{
  eval each (:),'flip (`$".l.",/:string key x;value x);
  r: .l.a + .l.b + .l.c;
  delete from `.l;
  r
}`a`b`c!1 2 3
但直接从输入字典(如
x[`a]
)获取值似乎更容易、更清晰


使用字典值作为参数,有助于简化调用其他函数。这可能就是你要找的。例如

{
  f: {x+y+z};
  f . x`a`b`c
}`a`b`c!1 2 3

我同意安东的观点——为什么不通过查找使用字典中的变量呢?您不需要将它们作为命名的局部变量