Ruby 如何为惰性编译进行迭代

Ruby 如何为惰性编译进行迭代,ruby,Ruby,我如何在Ruby中… 迭代两个文件夹(作为初始常量提供的路径或从json文件获取的路径) 并比较它们的时间戳,如果前者的时间戳与后者相同或旧,则触发前者上的某个命令(现在是一个空的foo()-函数,只打印文件名) 我想建立一个懒散的更新机制,很像过去的make,它只重新编译C文件,如果它们更新的话 [这只是为了让您知道,我想做的是,绕过一些繁重的公司JEE部署机制,实际上只有一两个css/jsp文件在不断变化(就像前端设计器一样),需要从开发人员推送到服务器根目录下。:-] 请原谅我的问题范

我如何在Ruby中…

  • 迭代两个文件夹(作为初始常量提供的路径或从json文件获取的路径)
  • 并比较它们的时间戳,如果前者的时间戳与后者相同或旧,则触发前者上的某个命令(现在是一个空的foo()-函数,只打印文件名)
我想建立一个懒散的更新机制,很像过去的
make
,它只重新编译C文件,如果它们更新的话

[这只是为了让您知道,我想做的是,绕过一些繁重的公司JEE部署机制,实际上只有一两个css/jsp文件在不断变化(就像前端设计器一样),需要从开发人员推送到服务器根目录下。:-]

请原谅我的问题范围,我是ruby中文件操作的完全高手…但它似乎是我手头环境中最好的跨平台脚本。

def foo(bar)
def foo(bar)
   puts bar
end

def bar(first,second)
   puts "#{first} is not older than #{second}"
end

def compare_time_stamps

    Dir.foreach("path/one") do |filename|
        @first_file << File.ctime(filename)
    end

    Dir.foreach("path/two") do |filename|
        @second_file << File.ctime(filename)
    end

    @first_file.zip(@second_file)
    @first_file.each do |first_time,second_time|
        @first_time.parse_time >= @second_time.parse_time ? foo(@first_time) : bar(@first_time,@second_time)
    end


end
推杆 终止 def bar(第一、第二) 放置“#{first}不早于#{second}” 终止 def比较时间戳 Dir.foreach(“路径/一”)do |文件名|
@首先_file实际上,有一个用Ruby编写的构建系统,名为
rake
(源于Ruby Make),它已经实现了检测已更改的任务依赖项,并且只运行一系列受影响的任务


您可能会发现这很有用。

可以通过SO和internet上的教程和示例进行树行走。顺便说一句,这与惰性评估无关。有没有想过使用
rake
?@D-side谢谢!我正在调查。。。