Con el fin de escribir un código más limpio ...¿Cómo puedo masticar cada línea en una matriz a la vez?
IO.popen("Generate a list of files").readlines.each{ |line|
chomped_line = line.chomp
# ...
}
Con el fin de escribir un código más limpio ...¿Cómo puedo masticar cada línea en una matriz a la vez?
IO.popen("Generate a list of files").readlines.each{ |line|
chomped_line = line.chomp
# ...
}
IO.popen("Generate a list of files").readlines.map(&:chomp)
IO.read("something").split($/)
$/es la cadena de separación. IO.read cierra el archivo después de leer.
que lo haría más rápido y consume menos memoria:
entonces es:
IO.popen("generate_lines").each_line { |line|
line.chomp!
do_something_with line
}
# Example 1
File.readlines("file.txt").each{|line| line.chomp!}
# Example 2
File.readlines("file.txt").map(&:chomp)
# Example 3
File.open("file.txt", "r"){|file| file.readlines.collect{|line| line.chomp}}
Sólo una nota que '$ /' 'partidos \ n 'nuevas líneas estrictamente mientras chomp maneja' \ r \ n' también. Si sabes que solo tendrás líneas nuevas '\ n', esta solución es _mucho_ más rápida que la opción map/chomp. –