Легкий вопрос: прочитайте файл, отмените его и напишите в другой файл в Ruby

У меня есть:

o = File.new("ouput.txt", "rw+")
 File.new("my_file.txt").lines.reverse_each { |line|
 ????? line 
 }
 o.close

Я не знаю, какой метод использовать для записи в файл o

4 ответа

puts понимает массивы, поэтому вы можете упростить это:

File.open("f2.txt","w") {|o| o.puts File.readlines("f1.txt").reverse}


Для больших файлов избегайте использования readlines, так как это будет очень медленно/неэффективно. Подумайте об использовании драгоценного камня, такого как Elif для такого рода вещей.


Ты собираешься сделать что-то более похожее...

new_text = File.readlines('my_file').reverse.join
File.open('my_file', 'w+') { |file| file.write(new_text) }

Отметьте эту документацию, чтобы выяснить, что означает w+.


Я знал, что это легко, что я не совсем понимаю, поэтому не документировано здесь?

o = File.new("ouput.txt", "w+")
File.new("my_file.txt").lines.reverse_each { |line|
 o.puts line 
}
o.close

licensed under cc by-sa 3.0 with attribution.