You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在KDB中将变量传递给多层嵌套内部函数?

实现可传递参数的peg函数

要实现0.06 peg x这种调用方式,只需将peg定义为二元函数,把阈值作为第一个参数传入即可。具体修改如下:

peg: {[thresh; x] {$[abs[log x%y] > thresh; y; x]} scan x}

说明:

  • 外层函数peg接收两个参数:第一个是阈值thresh(比如你需要的0.06),第二个是输入序列x。
  • 内部的scan匿名函数可直接访问外层函数的thresh参数,实现阈值的外部传递。
  • 调用时直接使用前缀语法:0.06 peg x,完全匹配你想要的调用形式。

示例验证:

假设输入序列x: 1.0 1.05 1.12 1.08 1.15,调用0.06 peg x会按阈值0.06执行扫描逻辑,返回对应的序列。

内容的提问来源于stack exchange,提问作者cjm2671

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 08:02:35