Wolfram mathematica Mathematica中的批输入和批输出?

Wolfram mathematica Mathematica中的批输入和批输出?,wolfram-mathematica,Wolfram Mathematica,最近,我在MathGroup上发现了一些未记录的命令行选项-batchinput和-batchoutput的用法如下所示: If test.mma contains the following commands: a=2+2 b=10!; a+b then, running Mathematica in batch mode, only output for the first and third commands goes to stdout: #

最近,我在MathGroup上发现了一些未记录的命令行选项
-batchinput
-batchoutput
的用法如下所示:

 If test.mma contains the following commands:

    a=2+2
    b=10!;
    a+b

 then, running Mathematica in batch mode, only output for the first and 
 third commands goes to stdout:

    # math -batchinput -batchoutput < test.mma

    4

    3628804
如果test.mma包含以下命令:
a=2+2
b=10!;
a+b
然后,在批处理模式下运行Mathematica,只输出第一个和第二个
第三个命令转到标准输出:
#数学-批输入-批输出

但是当我试图在Windows下重现这种行为时,我只得到控制台窗口中打印的第一个输出。我做错了什么?

我测试了它,得到了两个数字作为输出但是,如果最后一个命令后面没有回车符,那么输出就是您发布的内容


因此,请检查您的最后一行是否以回车结束。

谢谢!问题是最后一行没有以换行符结尾。@Alexey也许
回车符
不会再返回了,实际上,在最后一行后面加一个换行符是不够的。大多数编辑器在最后一行之后插入该换行符,即使它们没有显示该换行符。您需要在末尾多出一整行空行来完成此操作。@Szabolcs不在我的机器上:)也许
-script
选项(8中新增)对您有用。但这不是同一件事,
Out=
行不会被打印出来。@Szabolcs请举例说明此选项的用法(或链接到它)<代码>输出=
标签不使用
-batchoutput
选项打印。它和
-script
有什么区别?@Aleksey,你有版本8吗?使用
-script
时,除非您的程序执行某些显式输出(例如使用
打印
),否则不会打印任何内容。请参阅“更多信息”下的内容:只需运行
math-script file.m
即可将
file.m
中的命令作为“脚本”运行。@Szabolcs我仍然没有版本8,但我有兴趣了解它的新功能。因此,脚本模式下的
Print
将打印到控制台,尽管“在脚本模式下,标准输入和输出不会被重定向”,正如文档页上所说的那样?@Aleksey,实际上,似乎唯一打印的东西是从程序显式打印的内容。就像任何简单的脚本语言一样。现在,您可以在Mma中编写小程序,并以非交互方式运行它们,而无需前端和分心输出
$Post
和friends似乎不在脚本模式下使用,因此您无法以简单的方式对其进行破解以打印所有输出,以防您需要这些输出。我想我已经读过关于免费第三方“前端”的文章,这些内容与早期版本基本相同,但我真的不记得了。。。