在 Octave 中,我可以抑制或隐藏在行末尾添加分号的指令的输出:
octave:1> exp([0 1])
ans = [ 1.0000 2.7183 ]
octave:2> exp([0 1]);
octave:3>
现在,如果函数显示文本(例如使用disp()
or print()
)在返回其值之前?换句话说,我希望能够做到这一点:
disp("Starting...");
% hide text the may get displayed after this point
% ...
% show all text again after this point
disp("Done!");
您可以修改PAGER
变量(现在是一个函数)来重定向标准输出。在 Unix 系统上,您可以将其重定向到/dev/null
。在 Windows 上,我尝试简单地重定向到一个不执行任何操作的 Python 程序,并且它运行得很好。 (基本上,任何忽略输入的程序都可以)
PAGER('/dev/null');
page_screen_output(1);
page_output_immediately(1);
完成后你可以把它改回来。也许可以将整个过程封装在一个函数中。
oldpager = PAGER('/dev/null');
oldpso = page_screen_output(1);
oldpoi = page_output_immediately(1);
% Call function here
PAGER(oldpager);
page_screen_output(oldpso);
page_output_immediately(oldpoi);
您还可以简单地以非交互方式运行脚本,并正常重定向输出。
octave script.m > /dev/null
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)