使用值来引用函数中的变量

Use value to reference a variable in a function

如何获取在局部范围内查看变量的值? 例如:

a:2;

func:{
  a:1;
  value "a"
 }

returns 2

value 将始终在全局范围内工作。

如果你真的需要这个,也许可以使用工作区变量,例如.a.b:1 ...我没有 q 实例可以用来测试它是否有效,但我几乎可以肯定它确实有效。

您可以使用其他函数代替 'value'。一个选项是 'eval' 函数:

        q)a:2;

        q) func:{ a:1; eval a}
        q)  func[]
        q) 1