25 Ruby 的 Dir 類
阿新 • • 發佈:2020-06-25
直到本章為止,我們所做的所有工作都涉及到處理記憶體中的資料。既然我們已經涵蓋了 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 中目錄處理的基礎知識,下一章我們會介紹檔案處理的概念。