关于串联“a||b”在枫树?
我测试代码
L:=[2,1];
sum('a||b*L[1]', 'b' = 1 .. 2);
它返回 a1*L[1]+a2*L[1]
,但我希望在评估 a1*2+a2*2
后得到 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);
将产生结果 2a1 + 2a2 不评估函数测试中定义的局部变量a1
。 我期望得到2*1+2*a2
。还有进一步的想法吗?
I test the code
L:=[2,1];
sum('a||b*L[1]', 'b' = 1 .. 2);
It returns a1*L[1]+a2*L[1]
, but I expect to get a1*2+a2*2
after evaluation of L[1]
.
Any ideas?
Thanks.
EDIT:
I have one further question. Here's the test code:
L := [2, 1]
test := proc (i) local a1; a1 := 1; add(a || b*L[i], b = 1 .. 2) end proc
test(1);
will result
2 a1 + 2 a2
without evaluating a1
which is a local variable defined in function test.
I expect to get 2*1+2*a2
. Any further idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的第一行只是一个带有
=
的方程式,而不是带有:=
的实际赋值。所以您没有对L
进行分配。并且在
sum
调用中,不值引号被误用,并且换行过多。您还可以使用
add
而不是sum
,以依赖add
的特殊评估规则,从而消除对不值引号的需要。Your first line is just an equation, with
=
, and not an actual assignment with:=
. So you weren't doing an assignment toL
.And the uneval quotes are misapplied, in the
sum
call, and wrap too much.You could also use
add
instead ofsum
, to rely on the special evaluation rules ofadd
and thus get rid of the need for the uneval quotes.