我有以下代码:
puts "amit"
puts "ravi"
Run Code Online (Sandbox Code Playgroud)
它输出:
amit
ravi
Run Code Online (Sandbox Code Playgroud)
我想将amit重定向到一个文件,将ravi重定向到另一个文件.
假设我的文件名是name.rb.当我尝试的时候
system("name.rb > #{@filename}")
Run Code Online (Sandbox Code Playgroud)
这两个阿米特和拉维被重定向到@FileName但我想重定向到不同的文件或首先它会重定向到两个同名的文件,但在一个文件输出阿米特和相同的输出的另一个文件是拉维.
您可以更改$ 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"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2539 次 |
| 最近记录: |