ruby File.join(dir," **"," *")

时间:2014-03-17 06:30:13

标签: ruby file

让我们考虑以下代码块:

 def remove_symlinks
   @blobs_dir="/tmp"
   Dir[File.join(@blobs_dir, "**", "*")].each do |file|
     FileUtils.rm_rf(file) if File.symlink?(file)
   end
 end

我对这一行感到困惑:

File.join(@blobs_dir, "**", "*")

我不知道这意味着什么,特别是"**""*"

1 个答案:

答案 0 :(得分:3)

File.join(@blobs_dir, "**", "*")

表示它将通过使用File :: SEPARATOR连接字符串来生成新字符串。请参阅this

在这里,它将生成一个类似/ tmp / ** / *。

的路径
Dir[File.join(@blobs_dir, "**", "*")]

**表示递归匹配目录。 *将匹配所有文件。请参阅this

所以看起来这段代码是检查/ tmp所有子目录下的所有文件,找到符号链接并删除它们。