【问题标题】:Using each right to pass parameters to a kdb function使用每个权限将参数传递给 kdb 函数
【发布时间】:2013-06-23 00:48:47
【问题描述】:

我有以下代码不起作用:

fun { [h; d]
 h(anotherFun; d)
}

h: hopen(`hparam)
d: (2013.06.01, 2013.06.02)
h,/:fun d

我需要做什么才能用 h 和 d 的每个元素调用 fun?至少可以说,来自 q 的诊断是神秘的。

【问题讨论】:

    标签: kdb


    【解决方案1】:

    看起来 h 和 d 的元素是你的两个参数,所以你可以试试

    h fun/: d
    

    【讨论】:

    • 让我感到困惑的是参考示例中的逗号:code.kx.com/wiki/Reference/SlashColon。你知道这里为什么用逗号吗?
    • comma 是该示例中使用的函数。如果您查看输出,它会生成前面 1 和结尾 1-15 的列表。
    • 我明白了,在这种情况下,逗号就是函数本身。为什么要将系统函数命名为“逗号”?!
    【解决方案2】:

    最简单的方法是使用常量参数创建投影,然后为列表中的每个参数调用它

     fun[h;] each d
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      • 1970-01-01
      • 2013-01-27
      • 2014-05-25
      相关资源
      最近更新 更多