2011-05-03 12 views
11

Tengo el siguiente código que quiero usar para hacer ping a las direcciones IP y escribir en un archivo. Todo funciona bien, excepto que no puedo escribirlo en el archivo.¿Cómo obtengo Ruby 'puts' para escribir datos en un archivo?

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 

Respuesta

31

Cambio puts r-s.puts r. Está escribiendo en stdout en lugar de en s. (Consulte Kernel#puts y IO#puts)

+0

Gracias, funciona de maravilla – rahrahruby

Cuestiones relacionadas