Ruby - Dir 类和方法

ADir 是一个表示目录流的类,它给出操作系统目录中的文件名。 Dir 类还持有与目录相关的操作,例如通配符文件名匹配、更改当前工作目录等作为类方法。


类方法

序号 Method & 描述
1

Dir[pat]

Dir::glob( pat)

返回与指定通配符模式 pat 匹配的文件名数组 −

  • * − 匹配任何字符串,包括空字符串

  • ** − 递归匹配任何字符串

  • ? − 匹配任何单个字符

  • [...] − 匹配任一封闭字符

  • {a,b...} − 匹配任意一个字符串

Dir["foo.*"] # 匹配 "foo.c"、"foo.rb" 等

Dir["foo.?"] # 匹配 "foo.c"、"foo.h" 等

2

Dir::chdir( path)

更改当前目录。

3

Dir::chroot( path)

更改根目录(仅超级用户允许)。 并非在所有平台上都可用。

4

Dir::delete( path)

删除 path 指定的目录。 目录必须为空。

5

Dir::entries( path)

返回目录路径中的文件名数组。

6

Dir::foreach( path) {| f| ...}

对 path 指定的目录中的每个文件执行一次块。

7

Dir::getwd

Dir::pwd

返回当前目录。

8

Dir::mkdir( path[, mode=0777])

创建路径指定的目录。 权限模式可以由 File::umask 的值修改,在 Win32 平台上被忽略。

9

Dir::new( path)

Dir::open( path)

Dir::open( path) {| dir| ...}

返回路径的新目录对象。 如果给定一个块 open,则将一个新的目录对象传递给该块,该块在终止之前关闭目录对象。

10

Dir::pwd

See Dir::getwd.

11

Dir::rmdir( path)

Dir::unlink( path)

Dir::delete( path)

删除 path 指定的目录。 目录必须为空。


实例方法

假设 dDir 类的一个实例 −

序号 方法 & 描述
1

d.close

关闭目录流。

2

d.each {| f| ...}

为 d 中的每个条目执行一次块。

3

d.pos

d.tell

返回 d 中的当前位置。

4

d.pos = offset

设置目录流中的位置。

5

d.pos = pos

d.seek(po s)

移动到 d 中的一个位置。 pos 必须是 d.pos 返回的值或 0。

6

d.read

从 d 返回下一个条目。

7

d.rewind

将 d 中的位置移动到第一个条目。

8

d.seek(po s)

见 d.pos = pos。

9

d.tell

见 d.pos。

❮ Ruby 文件 I/O