преобразовать набор в выражение Maple / Change prefix в выражение In-fix - PullRequest
0 голосов
/ 26 сентября 2018

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

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);

, но мой вывод находится в порядке выражения Pre-fix.

result: = {"° (a, b), ° (° (a, x), y)"}

С уважением

1 Ответ

0 голосов
/ 28 сентября 2018
restart;

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

result := map(op, foo):

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...