了解with_stdout的输出

问题描述 投票:1回答:1

根据maxima的文档,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触发的错误,我不知道它是否在最大值上。

问候。

maxima wxmaxima
1个回答
1
投票

显然wxMaxima会覆盖默认的print函数来生成XML标签(像<foo> ... </foo>这样的东西),wxMaxima用它来表示东西的显示方式。我不知道是否可以在wxMaxima中直接调用默认的print函数;也许,也许不是。

我可以看到几个选项。 (1)改为调用grind,输出所谓的1维输出。无论如何,这可能更适合文件输出。

(2)致电printf,例如printf(true, "~a, ~a, ~a~%", x, x^2, x^3)printf认识到许多输出选项,如? printf所述。可能printf调用也被wxMaxima截获,我还没有尝试过。

(3)使用纯文本,控制台Maxima界面,然后print肯定是默认的。

© www.soinside.com 2019 - 2024. All rights reserved.