puts "hi"
puts "bye"
到目前为止,我想将代码的STDOUT存储到一个变量中,比如'result',然后打印出来
puts result
我这样做的原因是,我已经将一个R代码集成到Ruby代码中,当R代码运行时,它的输出被提供给标准输出,但是输出不能在代码内部访问以进行一些计算.抱歉,这让人困惑.所以"puts result"一行应该给我打招呼,再见.
puts "hi"
puts "bye"
到目前为止,我想将代码的STDOUT存储到一个变量中,比如'result',然后打印出来
puts result
我这样做的原因是,我已经将一个R代码集成到Ruby代码中,当R代码运行时,它的输出被提供给标准输出,但是输出不能在代码内部访问以进行一些计算.抱歉,这让人困惑.所以"puts result"一行应该给我打招呼,再见.
您当然可以将标准输出重定向到变量.例如:
# Set up standard output as a StringIO object.
foo = StringIO.new
$stdout = foo
# Send some text to $stdout.
puts 'hi'
puts 'bye'
# Access the data written to standard output.
$stdout.string
# => "hi\nbye\n"
# Send your captured output to the original output stream.
STDOUT.puts $stdout.string
实际上,这可能不是一个好主意,但至少现在你知道这是可能的.