首页 > 服务端语言 > Ruby 入门教程 > 25 Ruby 的 Dir 类

Ruby 的 Dir 类

直到本章为止,我们所做的所有工作都涉及到处理内存中的数据。既然我们已经涵盖了 Ruby 语言的所有基础知识,是时候将我们的注意力转向使用 Ruby 中的文件和目录了。本章中会对 Ruby 如何操作目录做具体介绍。

1. Ruby 中更改目录

启动 Ruby 应用程序时,通常是从特定目录完成的。通常,有必要从 Ruby 代码中导航到文件系统上其他位置的目录。Ruby 在 Dir 类中提供了许多有用的目录导航方法。首先,标识当前目录通常很有用。

这可以通过Ruby Dir类的pwd方法完成:

Dir.pwd => "/home/ruby"

我们同样可以使用pwd查看当前目录:

> Dir.pwd 
=> "/home/ruby"

使用 Ruby Dir 类的 chdir 方法可以在 Ruby 中更改当前工作目录。此方法将目标目录的路径作为参数:

Dir.chdir("/home/ruby/test")

2. 创建新目录

Ruby 中的目录创建由 Dir 类的 mkdir 方法处理。此方法将新目录的路径作为其参数。这可以是目录的完整路径,也可以是基于当前工作目录的相对路径:

Dir.mkdir("/home/ruby/temp")
=> 0

3. Ruby 中的目录列表

导航到所需目录后,通常需要获取该目录中包含的文件列表。可以使用entries方法获得这样的列表。entries方法将需要列出目录的路径作为参数,并返回包含该目录中文件名的数组:

Dir.entries(".")
=> ["techotopia_stats.jpg", "toolButton.png", ".", "..", "techotopia_stats_since_start.jpg", "music_728x90_1.jpg", 
"music_468x60_a.jpg", "Fedora_essentials.jpg"]

我们可以使用了解 Ruby数组 中介绍的一些技术从数组中提取元素:

dirListing.each { |file| puts file }


# ---- 输出结果 ----
techotopia_stats.jpg
toolButton.png
.
..
techotopia_stats_since_start.jpg
music_728x90_1.jpg
music_468x60_a.jpg
Fedora_essentials.jpg

另外,我们可以利用Dir类的foreach方法获得相同的结果:

Dir.foreach(".") { |file| puts file }

# ---- 输出结果 ----
techotopia_stats.jpg
toolButton_IST.png
.
..
techotopia_stats_since_start.jpg
music_728x90_1.jpg
music_468x60_a.jpg
Fedora_essentials.jpg

4. 小结

本章介绍了 Ruby 中目录处理的基础知识,下一章我们会介绍文件处理的概念。

本文来自互联网用户投稿,不拥有所有权,该文观点仅代表作者本人,不代表本站立场。
访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站,邮箱:80764001@qq.com,予以删除。
© 2023 PV138 · 站点地图 · 免责声明 · 联系我们 · 问题反馈