假设我创建一个空表:
test:([] name:`symbol$(); balance:`int$());
现在让我们用一行填充此列表:
insert[`test;(`John;1001)];
现在,如果我想按如下方式遍历此表:
n:0;
k:0;
f:{x%100}
do[count test; k+:f[test.balance[n]]; n+:1]
然后它给了我一个错误,因为它尝试使用函数f
来使用(计算)空初始化值。
为什么这不起作用有什么特别的原因吗?
我如何确保 工作?
答案 0 :(得分:2)
您正在做的事情可能有效,但它与最佳做法相去甚远。循环和索引不是要走的路。
您正在寻找的内容基本上是
test:([] name:`symbol$(); balance:`int$());
insert[`test;(`John;1001)];
insert[`test;(`Jane;2002)];
q)select sum f[balance] from test
balance
-------
30.03