我测试代码
L:=[2,1];
sum('a||b*L[1]', 'b' = 1 .. 2);
它返回a1*L[1]+a2*L[1]
,但我希望a1*2+a2*2
在评估后得到L[1]
. 有任何想法吗?
谢谢。
编辑:
我还有一个问题。这是测试代码:
L := [2, 1]
test := proc (i) local a1; a1 := 1; add(a || b*L[i], b = 1 .. 2) end proc
test(1);
将导致 2 a1 + 2 a2 不评估a1
哪个是函数测试中定义的局部变量。我期望得到2*1+2*a2
. 还有什么想法吗?