在红宝石上我可以做
require "stringio"
def with_captured_stdout
begin
old_stdout = $stdout
$stdout = StringIO.new('','w')
yield
$stdout.string
ensure
$stdout = old_stdout
end
end
然后以后称其为
str = with_captured_stdout { Solution.main("Greetings from Javatlacati") }
,但是在水晶范围内,我可以参考全局变量$stdout
,而无需获得相应的错误
$ global_variables不支持,使用@@ class_variables
有解决方法吗?预先感谢您。
当前没有简单的方法可以在Crystal Standard库中捕获Stdout或Stderr,但是这是一个看起来这样做的碎片:https://github.com/mosop/stdio。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</p>