Julia:有一个包含宏@printf的函数f(),如何访问f()外的输出?

时间:2015-06-02 10:00:31

标签: iostream julia

在Julia NMF包中,verbose选项提供有关使用@printf宏进行收敛的信息。

如何在不重写NMF软件包的情况下访问此输出?

要重新定义,如果函数f()包含宏@printf,我该如何访问f()之外的输出?

1 个答案:

答案 0 :(得分:4)

这似乎是有用的功能:我建议您提交包的问题。

然而,作为一个快速黑客,类似下面的东西应该工作:

oldout = STDOUT
(rd,wr) = redirect_stdout()
start_reading(rd)

# call your function here

flush_cstdio()
redirect_stdout(oldout)
close(wr)
s = readall(rd)
close(rd)
s