Понимание вывода with_stdout

Согласно документации по максимумам, with_stdout - это функция, которая оценивает некоторые выражения и записывает выходные данные в соответствии с этими выражениями в файл f. Я попытался использовать эту функцию на простом примере:

with_stdout ("data.txt", for x:0 thru 10 do print (x, x^2, x^3))$

Но вывод выглядит так:

<mth><n>0</n><st> </st><n>0</n><st> </st><n>0</n><st> </st></mth><mth><n>1</n><st> </st><n>1</n><st> </st><n>1</n><st> </st></mth><mth><n>2</n><st> </st><n>4</n><st> </st><n>8</n><st> </st></mth><mth><n>3</n><st> </st><n>9</n><st> </st><n>27</n><st> </st></mth><mth><n>4</n><st> </st><n>16</n><st> </st><n>64</n><st> </st></mth><mth><n>5</n><st> </st><n>25</n><st> </st><n>125</n><st> </st></mth><mth><n>6</n><st> </st><n>36</n><st> </st><n>216</n><st> </st></mth><mth><n>7</n><st> </st><n>49</n><st> </st><n>343</n><st> </st></mth><mth><n>8</n><st> </st><n>64</n><st> </st><n>512</n><st> </st></mth><mth><n>9</n><st> </st><n>81</n><st> </st><n>729</n><st> </st></mth><mth><n>10</n><st> </st><n>100</n><st> </st><n>1000</n><st> </st></mth>

вместо того, чтобы писать таблицу с тремя столбцами, как это должно быть.

Я даже не понимаю первый вывод. Что я здесь недопонимаю или упускаю?

-

Кажется, есть ошибка, вызванная Wxmaxima, я не знаю, есть ли она и на максимумах.

С уважением.

1 ответ

Видимо wxMaxima переопределяет значение по умолчанию print функция для создания тегов XML (такие вещи, как <foo>... </foo>) который wxMaxima использует, чтобы указать, как материал отображается. Я не знаю, можно ли напрямую позвонить по умолчанию print функция в wxMaxima; может, может и нет.

Я вижу несколько вариантов. (1) Позвонить grind вместо этого, который выводит так называемый одномерный вывод. Это, вероятно, больше подходит для вывода файла в любом случае.

(2) Позвонить printfнапример, printf(true, "~a, ~a, ~a~%", x, x^2, x^3), printf распознает много вариантов вывода, как описано ? printf, Возможно printf звонки также перехватываются wxMaxima, я не пробовал.

(3) Используйте обычный текст, интерфейс консоли Maxima, затем print обязательно будет по умолчанию.

Другие вопросы по тегам