File,Dir,FileUtils
這三個是 Ruby 檔案操作的主要 class
一個專案的檔案數,小到幾十個,大到幾千個都有,實務上長需要對檔案本身做操作。像以前專案要從綠界後台用 Ruby 的爬蟲爬檔案下來(改天有機會來介紹Ruby的爬蟲),牽涉到資料夾的生成,還有檔案的新增及刪除,也花了些時間研究 Ruby 的檔案操作,趁這機會整理一下筆記。
以下指令都在新的Rails專案Todolist
的 console 底下執行
資料夾(directory)操作
是今天要學的第一個重點,畢竟資料夾能管理檔案免的散落一地。
Dir.pwd
# => "/Users/maxhuang/Desktop/Todolist"
Dir.mkdir("dir")
這樣就成功建立一個dir
資料夾
Dir.delete("dir")
把上圖的箭頭轉半圈就是結果了 ┤・ω・)و ✧
Dir.entries(".")
# => [".", "..", ".DS_Store", "app", ".ruby-version", "test", "bin", "config", "config.ru", "docs", "README.md", "Rakefile", "Todolist", ".gitignore", "package.json", "test.rb", "db", "Gemfile", "log", "Gemfile.lock", ".git", "tmp"]
回傳的是每個項目,有檔案也有資料夾,我們就可以對矩陣元素做操作
例如:篩選出Todolist資料夾底下的所有資料夾
Dir.entries(".").select do |item|
File.directory? item # 判斷是否為資料夾,下面會介紹
end
#=> [".", "..", "app", "test", "bin", "config", "docs", "Todolist", "db", "log", ".git", "tmp"]
Dir介紹完了,今天時間比較趕,明天要加溫進入更常見的 File