Wolfram mathematica Mathematica中的批输入和批输出?
最近,我在MathGroup上发现了一些未记录的命令行选项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: #
-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似乎不在脚本模式下使用,因此您无法以简单的方式对其进行破解以打印所有输出,以防您需要这些输出。我想我已经读过关于免费第三方“前端”的文章,这些内容与早期版本基本相同,但我真的不记得了。。。