【发布时间】:2017-10-19 16:13:54
【问题描述】:
我很难从 kx 食谱中理解这个 q 代码编程习语:
q)swin:{[f;w;s] f each { 1_x,y }\[w#0;s]}
q)swin[avg; 3; til 10]
0 0.33333333 1 2 3 4 5 6 7 8
符号令人困惑。作为初学者,有没有简单的方法来分解它?
我知道该函数的紧凑符号可能等同于这个
swin:{[f;w;s] f each {[x; y] 1_x, y }\[w#0;s]}
w#0 表示重复 0 w 次(w 是前几次观察的填充物?),1_x, y 表示在删除第一个观察后加入 x 到 y。但我不明白这如何与f = avg 一起应用。有没有办法轻松理解这一点?
【问题讨论】: