Подтвердить что ты не робот

Ruby - Как написать новый файл с выходом из script

У меня есть простой script, который выполняет поиск и замену. Это в основном это:

File.open("us_cities.yml", "r+") do |file|
  while line = file.gets
  "do find a replace"
  end
  "Here I want to write to a new file"
end

Как вы можете видеть, я хочу написать новый файл с выходом. Как я могу это сделать?

4b9b3361

Ответ 1

Вывод на новый файл может быть выполнен следующим образом (не забудьте второй параметр):

output = File.open( "outputfile.yml","w" )
output << "This is going to the output file"
output.close

Итак, в вашем примере вы можете сделать это:

File.open("us_cities.yml", "r+") do |file|
  while line = file.gets
    "do find a replace"
  end
  output = File.open( "outputfile.yml", "w" )
  output << "Here I am writing to a new file"
  output.close      
end

Если вы хотите добавить к файлу, убедитесь, что вы открыли выходной файл за пределами цикла.

Ответ 2

Сначала вам нужно создать новый файл, например newfile.txt

Затем измените script на

File.open("us_cities.yml", "r+") do |file|
  new_file = File.new("newfile.txt", "r+")
  while line = file.gets
  new_file.puts "do find a replace"
  end
end

Это создаст новый файл с выходом