在Julia NMF包中,verbose
选项提供有关使用@printf
宏进行收敛的信息。
如何在不重写NMF
软件包的情况下访问此输出?
要重新定义,如果函数f()
包含宏@printf
,我该如何访问f()
之外的输出?
答案 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