我想实现类似这样的一个功能:输入[1,2,3,4],得到结果[1], [1,2], [1,2,3], [1,2,3,4]
但这么写会产生报错
代码:accumulate(def(a,b){v=iif(form(a)==0,[a],a);v.append!(b);return v},[1f,2f,3f,4f])
报错:"A scalar object is expectd.But the actual object is a vector."
accumulate每次迭代结果必须是scalar,不能是vector吗?
请问该如何解决呢
目前版本的accumulate对于array of arrays的支持有一定的局限性。你可以这样写实现这个需求:
init = array(DOUBLE, 0) // must be a vectorv = (1.0, 2.0, 3.0, 4.0) // must be a tupleaccumulate(def(a, b){c=a;c.append!(b);return c}, v, init)
下周将发布的DolphinDB 2.00.9和1.30.21版本没有这方面的限制。