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

Ruby-如何找到名称为数字的目录,ruby,Ruby,如果我有这样的目录结构 MyDir + Cars + Bicycles + 8 + Devices + Movies 如何在上面的MyDir中找到名称为数字的目录?在本例中,该目录是目录“8”,但它可以是“4”、“7”、“103”、“17”。。。或者任何其他数值?可能是这样的: Dir.foreach('/path/to/MyDir').grep_v(/\D/) (根据Stefan的建议改进) 或 在这两个示例中,都构造了一个包含所有目录项的数组,然后删除那些名称中没有数

如果我有这样的目录结构

MyDir
  + Cars
  + Bicycles
  + 8
  + Devices
  + Movies

如何在上面的MyDir中找到名称为数字的目录?在本例中,该目录是目录“8”,但它可以是“4”、“7”、“103”、“17”。。。或者任何其他数值?

可能是这样的:

Dir.foreach('/path/to/MyDir').grep_v(/\D/)
(根据Stefan的建议改进)


在这两个示例中,都构造了一个包含所有目录项的数组,然后删除那些名称中没有数字的目录项。

。grep(/\d/)
:)@Gerry No。这将匹配
8abc
之类的目录。
grep\u v
。您可能希望用
Dir.foreach
替换
Dir.entries
。前者返回一个数组,后者返回一个枚举数。谢谢。这可以工作,但它只返回文件夹名(8)。我需要包含该文件夹名称的完整路径。谢谢谢谢,这正是我需要的,带数字名称的目录的完整路径。第二个建议只返回数字目录名,第一个建议返回该目录的完整路径,这正是我需要的。
 (Dir['MyDir/*']-Dir['MyDir/*[^0-9]*'])
 Dir.entries('MyDir').reject {|d| /\D/ =~ d}