2011-02-15 62 views
27

我试图让一个.rb文件在指定内容的特定目录下创建另一个.rb文件,当该文件运行时。我不知道是否最好的方法是使用Ruby文件或Rake文件。你输入会很好。File.open,写入并保存?

回答

12

事实证明,这是最好的解决办法执行该文件。

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 
22
directory = "../../directory" 
File.open(File.join(directory, 'file.rb'), 'w') do |f| 
    f.puts "contents" 
end 
+0

感谢Dogbert - 如果我有更复杂的内容,比如一些常量可以放在一个字符串中的方法,我该如何去做。 – CharlesJHardy 2011-02-15 20:45:03

+0

你有什么格式的内容?你如何获取/生成内容? – Dogbert 2011-02-15 23:24:22

+0

我应该在哪写这段代码? – 2015-07-26 14:23:01

39

如果您只是需要执行一个简单的脚本来创建文件,那么您可以简单地使用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 
相关问题