Ваша первая строка - это просто уравнение с =
, а не фактическое назначение с :=
. Значит, вы не выполняли задание L
.
А неправильные кавычки неправильно используются в вызове sum
и слишком сильно переносятся.
Вы также можете использовать add
вместо sum
, чтобы полагаться на специальные правила оценки add
и, таким образом, избавиться от необходимости использовать неравные кавычки.
> L:=[2,1];
L := [2, 1]
> add(cat(a,b)*L[1], b = 1 .. 2);
2 a1 + 2 a2
> add((a||b)*L[1], b = 1 .. 2);
2 a1 + 2 a2
> sum('a||b'*L[1], 'b' = 1 .. 2);
2 a1 + 2 a2
> sum('cat(a,b)'*L[1], 'b' = 1 .. 2);
2 a1 + 2 a2