1

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

4

3 回答 3

2

如果您正在寻找一种返回数组的方法,那么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返回目录对象而不是数组

 Dir.open(string) -> aDir

Dir.open在用户主目录上使用可以为您提供

 Dir.open(ENV['HOME'])
=> #<Dir:/Users/Brian>
于 2013-07-30T22:24:07.360 回答
0

简单的答案是Dir

d = Dir.open '/home/dan/directoroy'

d是该目录内容的数组。

于 2013-07-30T21:06:50.033 回答
0

使用全局

在 Ruby 2.0 中,您可以使用Dir#entries检索目录中的所有文件,如果您想要更细粒度的控制,可以使用Dir['/tmp/*']Dir.glob '/tmp/*'等 glob关于返回的条目,或者是否要递归检索文件/目录。

于 2013-07-30T22:57:57.713 回答