Julia:如何在包含宏@printf的函数f()之外访问输出?

4
在Julia的NMF包中,verbose选项使用@printf宏提供收敛信息。
我如何在不重写NMF包io的情况下访问此输出?
换句话说,如果一个包含宏@printf的函数f(),我如何在f()之外访问输出?
1个回答

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

1
非常好,谢谢!这个可行,我会考虑提出建议。 - user4964631

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接