Это не единственные способы достижения вашей цели. Но, надеюсь, они вас направят.
Одним из способов является обработка каждого такого уравнения (из params
) в отдельности.
restart:
params := array(1..3):
params[1] := a[0]=2:
params[1];
a[0] = 2
a[0];
a[0]
assign(params[1]);
a[0];
2
У вас могут быть все записи params
, являющиеся уравнениями, и вы хотите выполнить одну и ту же задачу для всех записей одновременно.
restart:
params := array(1..3):
params[1] := a[0]=2:
params[3] := a[5]=7:
params[1];
a[0] = 2
a[0], a[5];
a[0], a[5]
entries(params);
[a[0] = 2], [a[5] = 7]
assign(entries(params));
a[0], a[5];
2, 7
Или, возможно, вы захотите использовать Array в верхнем регистре вместо массива в нижнем регистре (что не рекомендуется в современном Maple).
restart:
params := Array(1..3):
params[1] := a[0]=2:
params[3] := a[5]=7:
params[1];
a[0] = 2
a[0], a[5];
a[0], a[5]
map(rhs,rtable_elems(params));
{a[0] = 2, a[5] = 7}
assign(%);
a[0],a[5];
2, 7
Или у вас могут быть некоторые элементы params
, являющиеся уравнениями, а другие - какого-то другого типа (скажем, простые скалярные выражения). В этом случае вы можете сначала выбрать те из них, которые являются уравнениями, и назначить их только с использованием этого подмножества.