📜  红宝石 |目录类及其方法

📅  最后修改于: 2022-05-13 01:54:27.135000             🧑  作者: Mango

红宝石 |目录类及其方法

目录是存放文件的地方。在 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