iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 8
0
Modern Web

關於 Ruby on Rails,我想說的是系列 第 8

[Day 8] 檔案操作 File,Dir,FileUtils(上)

  • 分享至 

  • xImage
  •  

File,Dir,FileUtils 這三個是 Ruby 檔案操作的主要 class

一個專案的檔案數,小到幾十個,大到幾千個都有,實務上長需要對檔案本身做操作。像以前專案要從綠界後台用 Ruby 的爬蟲爬檔案下來(改天有機會來介紹Ruby的爬蟲),牽涉到資料夾的生成,還有檔案的新增及刪除,也花了些時間研究 Ruby 的檔案操作,趁這機會整理一下筆記。

以下指令都在新的Rails專案Todolist的 console 底下執行

Dir

資料夾(directory)操作是今天要學的第一個重點,畢竟資料夾能管理檔案免的散落一地。

1.當前資料夾位置

Dir.pwd 
# => "/Users/maxhuang/Desktop/Todolist" 

2.建立資料夾

Dir.mkdir("dir") 

這樣就成功建立一個dir資料夾
Imgur

3.刪除資料夾

Dir.delete("dir") 

把上圖的箭頭轉半圈就是結果了 ┤・ω・)و ✧

4.查詢目前資料夾底下的所有檔案及資料夾列表,回傳Array

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


上一篇
[Day 7] Enumable 迭代方法
下一篇
[Day 9] 檔案操作 File,Dir,FileUtils(下)
系列文
關於 Ruby on Rails,我想說的是23
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言