Файл. Открыть, написать и сохранить? - PullRequest
34 голосов
/ 15 февраля 2011

Я пытаюсь получить файл .rb для создания другого файла .rb в определенном каталоге с указанным содержимым при запуске этого файла. Я не знаю, будет ли лучший способ сделать это с файлом Ruby или файлом Rake. Ваш вклад был бы великолепен.

Ответы [ 3 ]

44 голосов
/ 15 февраля 2011

Если вам просто нужно выполнить простой скрипт, такой как создание файла, вы можете просто использовать скрипт Ruby, не создавая задачу rake.

# file origin.rb
target  = "target.rb"
content = <<-RUBY
  puts "I'm the target!"
RUBY

File.open(target, "w+") do |f|
  f.write(content)
end

И вы можете выполнить файл с

$ ruby origin.rb
23 голосов
/ 15 февраля 2011
directory = "../../directory"
File.open(File.join(directory, 'file.rb'), 'w') do |f|
  f.puts "contents"
end
17 голосов
/ 28 февраля 2011

Это оказалось лучшим решением.

File.open("linecount.txt",'w') do |filea|
  File.open("testfile.txt",'r') do |fileb|
    while line = fileb.gets
      filea.puts line.length
    end
  end
end
...