我有以下代码:
puts "amit"
puts "ravi"
输出:
amit
ravi
我想将 amit 重定向到一个文件,将 ravi 重定向到另一个文件。
假设我的文件名是name.rb
。当我尝试像
system("name.rb > #{@filename}")
amit 和 ravi 都被重定向到@filename,但我想重定向到另一个文件,或者首先它将重定向到两个同名文件,但在一个文件输出中是 amit 并且在相同输出的其他文件中是 ravi。
最佳答案
您可以更改 $stdout 和 $stderr 的目的地:
stout = File.open(ARGV[0], 'w')
sterr = File.open(ARGV[1], 'w')
$stdout.reopen(stout)
$stderr.reopen(sterr)
puts "something"
$stderr.puts "something another"
关于ruby - 如何将 Ruby 程序的输出重定向到某个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3186495/