如何用ruby编写循环,以便在每个文件上执行一块代码
我是ruby新手,我认为实现这一点的方法是一个do-each循环。
ruby文件将从与我要循环通过的目录不同的目录执行
我尝试了目录foreach,但无法使其工作
正如其他人所说,Dir::foreach是一个很好的选择。但是,请注意Dir::foreach和Dir::entries将始终包括和。(当前目录和父目录)。您通常不想处理它们,因此可以使用Dir::each_child或Dir::children(如ma11hew28所建议)或执行类似操作:
Dir.foreach('/path/to/Dir')do|文件名|
下一步如果文件名=='.'或文件名=='..'
#处理剩余的文件&;目录
终止
Dir::foreach和Dir::entries(以及Dir::each_child和Dir::children)还包括隐藏文件&;目录。通常这是你想要的,但如果不是,你需要做些事情跳过它们
或者,您可能希望查看提供简单通配符匹配的Dir::glob:
Dir.glob('/path/to/Dir/*.rb')do | rb_文件名|
#处理文件和文件;以.rb结尾的目录
终止