如何在Ruby脚本中列出目录内容?

如何在Ruby脚本中列出目录内容?,ruby,Ruby,我找到了强大的模块。但是似乎找不到列出内容的函数。有人知道怎么做吗?简单的答案是: d是该目录内容的数组。如果您正在寻找返回数组的方法,那么Dir.entries就是您想要的 Dir.entries(dirname) -> (array) 这将列出一个用户主目录并返回一个数组 Dir.entries(ENV['HOME']) => [".", "..", ".bash_history", ".bash_profile", ".bashrc", ".CFUserTextEn

我找到了强大的模块。但是似乎找不到列出内容的函数。有人知道怎么做吗?

简单的答案是:


d
是该目录内容的数组。

如果您正在寻找返回数组的方法,那么
Dir.entries
就是您想要的

Dir.entries(dirname) -> (array)
这将列出一个用户主目录并返回一个数组

Dir.entries(ENV['HOME'])
=> [".",
 "..",
 ".bash_history",
 ".bash_profile",
 ".bashrc",
 ".CFUserTextEncoding",
 ".cheat",
 ".DS_Store",
 ".gem",
 ".gemrc",
 ".gist", ... etc.
 Dir.open(string) -> aDir
另一个方法
Dir.open
返回目录对象而不是数组

Dir.entries(ENV['HOME'])
=> [".",
 "..",
 ".bash_history",
 ".bash_profile",
 ".bashrc",
 ".CFUserTextEncoding",
 ".cheat",
 ".DS_Store",
 ".gem",
 ".gemrc",
 ".gist", ... etc.
 Dir.open(string) -> aDir
在用户主目录上使用
Dir.open
,可以

 Dir.open(ENV['HOME'])
=> #<Dir:/Users/Brian>
目录打开(环境['HOME']) => # 使用一个Glob
在Ruby 2.0中,您可以使用来检索目录或glob中的所有文件,例如,如果您希望对返回的条目进行更细粒度的控制,或者如果您希望递归检索文件/目录。

什么Ruby版本?这在2.0中不起作用,其中
Dir.open'/tmp'
返回一个Dir对象。Ruby 1.9.3。是的,我不认为我是准确的。我只是认为这是因为
d。每一个
都符合我的目的。看看我的答案
open
返回一个dir对象和
条目
返回一个数组