Ruby - 如何查找名称为数字的目录

时间:2017-11-02 03:02:24

标签: ruby

如果我有这样的目录结构

MyDir
  + Cars
  + Bicycles
  + 8
  + Devices
  + Movies

如何在上面的MyDir中找到名称为数字的目录?在这个例子中,该目录是目录'8',但它可以是'4','7','103','17',...或任何其他数值?

2 个答案:

答案 0 :(得分:3)

也许,这样的事情:

Dir.foreach('/path/to/MyDir').grep_v(/\D/)

(改进,遵循Stefan的建议)

答案 1 :(得分:3)

 (Dir['MyDir/*']-Dir['MyDir/*[^0-9]*'])

 Dir.entries('MyDir').reject {|d| /\D/ =~ d}

在这两个示例中,构造了所有目录条目的数组,然后删除了名称中包含非数字的目录条目。