如何让Ruby'puts'将数据写入文件?

rah*_*uby 11 ruby

我有以下代码,我想用来ping IP地址和写入文件.一切正常,除了我无法写入文件.

server = %w'192.168.150.254
192.168.150.251
192.168.120.1
192.168.120.2'

File.open('/test/test2.out','w') do |s|
  server.each do |p|
    r = `ping -a -n 1 #{p}`
    puts r
  end
end
Run Code Online (Sandbox Code Playgroud)

Jos*_*Lee 31

更改puts rs.puts r.你写的是stdout而不是s.(见Kernel#putsIO#puts)