30、Ruby Dir 类和方法
Ruby 语言中的 Dir 类提供了操作目录中的文件名的目录流的方法。 Dir 类也拥有与目录相关的操作,比如通配符文件名匹配、改变工作目录等
Dir 类方法
序号 | 方法 & 描述 |
---|---|
1 | Dir[pat] Dir::glob(pat) 返回一个数组,包含与指定的通配符模式 pat 匹配的文件名: * 匹配包含 null 字符串的任意字符串** 递归地匹配任意字符串?- 匹配任意单个字符 [...] 匹配封闭字符中的任意一个 {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) 返回一个数组,包含目录 path 中的文件名。 |
6 | Dir::foreach( path) {| f| ...} 为 path 指定的目录中的每个文件执行一次块。 |
7 | Dir::getwd Dir::pwd 返回当前目录 |
8 | Dir::mkdir(path[, mode=0777]) 创建 path 指定的目录。权限模式可被 File::umask 的值修改,在 Win32 的平台上会被忽略 |
9 | Dir::new(path) Dir::open(path) Dir::open(path) {| dir| ...} 返回 path 的新目录对象。如果 open 给出一个块,则新目录对象会传到该块,块会在终止前关闭目录对象 |
10 | Dir::pwd 参见 Dir::getwd |
11 | Dir::rmdir(path) Dir::unlink(path) Dir::delete(path) 删除 path 指定的目录。目录必须是空的 |
Dir 实例方法
下表列出了 Dir 实例的方法
我们假定 d 是 Dir 类的一个实例
序号 | 方法 & 描述 |
---|---|
1 | d.close 关闭目录流 |
2 | d.each {| f| ...} 为 d 中的每一个条目执行一次块 |
3 | d.pos d.tell 返回 d 中的当前位置 |
4 | d.pos = offset 设置目录流中的位置 |
5 | d.pos = pos d.seek(pos) 移动到 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 |