红宝石 |目录类及其方法
目录是存放文件的地方。在 Ruby 中,目录由Dir 类处理,文件由File 类处理。在目录中,双点(..)表示父目录,单点(.)表示目录本身。
类方法
1. mkdir :该方法用于创建新目录。您还可以对新目录设置权限。
Dir.mkdir "dir_name", permission
2. 删除目录:删除目录使用rmdir、delete和unlink方法,所有这些方法的工作都是一样的。
Dir.delete "dir_name"
Dir.rmdir "dir_name"
Dir.unlink " Dir_name"
3.存在吗? :通过使用存在?方法可以检查目录是否存在。它以真或假返回值。
Dir.exist?"dir_name"
下图说明了 mkdir 的使用、删除和存在?方法:
4. pwd :检查当前工作目录,使用 pwd(present working directory) 方法。
Dir.pwd
5. chdir :改变当前工作目录,使用 chdir 方法。在这种方法中,您可以简单地将路径传递到要移动的目录。
Dir.chdir ”path”
chdir 方法中使用的字符串参数是绝对或相对路径。
下图说明了 chdir 和 pwd 方法的使用:
6. entries:检查目录包含的内容。它为您提供了一系列内容。
Dir.entries”dir_name” #[“.”, “..”, “file.txt”, “another directory”]
7. getwd :该方法用于返回当前工作目录的路径。
Dir.getwd
8. home :该方法用于返回当前用户的主目录。
Dir.home
下图说明了条目、getwd 和 home 方法的使用:
9. glob :该方法用于检查当前目录中的某个文件。它适用于模式匹配概念。它扩展模式,即模式数组或字符串模式,并返回匹配的值。 glob 方法中使用的一些符号是:
*:它匹配所有文件。
c*:匹配以 c 开头的文件。
*c:匹配以 c 结尾的文件。
*c*:匹配所有包含c的文件,包括开始和结束。
**:递归匹配目录。
?:它匹配任何一个字符。
[set]:匹配集合中的任意一个字符。
{p, q}:匹配 p 或 q字面量。
\:它转义下一个元字符。
Dir.glob(“pattern”)
下图说明了如何使用 glob 方法:
实例方法
这里h_o 是 dir class 的对象。
1. close :用于关闭目录流。
h_o.close
下图说明了 close 方法的使用:
2. each :在每个方法中,应该为目录中的每个条目调用一次块,并将每个条目的文件名作为参数传递给块。
each{|filename|block}
下图说明了每种方法的使用:
3. fileno :该方法用于提供dir中使用的文件号,也可以说它以整数值提供文件的描述。
h_o.fileno
下图说明了 fileno 方法的使用:
4. path :该方法返回路径参数。
h_o.path
下图说明了路径方法的使用:
5. pos :该方法返回当前位置参数。
h_o.pos=integer
6. read:此方法从目录中读取下一个条目并作为字符串返回。
h_o.read
7. tell :该方法用于告诉dir中的当前位置。
h_o.tell
8. seek :该方法用于在dir中寻找具体位置。它以整数形式返回值。
h_o.seek(integer)
9. Rewind :此方法用于将dir重新定位到第一个位置。
h_o.rewind
参考: https://ruby-doc.org/core-2.2.0/Dir.html