преобразовать набор в выражение Maple/ изменить префикс на выражение In-fix

Как преобразовать приведенный ниже набор в выражение

Expression := {{a°b}, {a°x°y}} # ° can be any operator

требуемый результат как

result := {a°b, a°x°y}  #required output

Я попытался преобразовать с помощью функции преобразования, как показано ниже,

asString := convert(Expression, string);
with(StringTools):
asString :=Remove("{}", asString)

result := InertForm:-Parse(asString);

но мой вывод находится в порядке префиксного выражения.

результат: = {"°(а,б), °(°(а,х),у)"}

С уважением


person Rohithsai Sai    schedule 26.09.2018    source источник


Ответы (1)


restart;

foo := {{a/b}, {a+x*y}}:

result := map(op, foo):

lprint(result);
  {a/b, x*y+a}

Нет никакой гарантии, что в результирующем наборе элементы будут появляться в том же порядке, что и в исходном наборе наборов. И, следовательно, использование наборов для таких общих вещей никогда не будет работать должным образом.

Вот почему я использовал вложенные списки вместо вложенных наборов в своих ответах на еще один из ваших многочисленных вопросов по этой теме на прошлой неделе. Ваш текущий вопрос указывает на то, что вы не следуете моему совету.

person acer    schedule 28.09.2018