模組化
- 方便管理寫好的功能、程式碼,並讓多個檔案共用。
- 多人協作時,減少衝突狀況。
- 目錄在同一層時,就可以取用。
require './abc.rb' #將.rb檔引入
require ('./abc.rb') #require是方法,所以有小括號
require './abc' #這裡的副檔rb被省略仍可以取到值
- require不是什麼都不做單純載入,是會執行內容的。
- 載入過的,只會載入過一次。
load './abc.rb' #功能相同,但重複load相同檔案時,會重複載入
load './abc.rb' #使用load要載入時副檔rb就不可被省略
- 用Rail本地開發時,就是用load在讀著檔案,因為會重複載入,這樣才能邊改code邊同步看到修改後的效果。
- 上線後,就會用require,因為效能較好。
Rake
- Rake = Ruby版的make >make: 一種C語言編譯工具,用以打包適合你平台的套件,提供你安裝。
在軟體開發中,make是一個工具程式,經由讀取叫做『makefile』的檔案,自動化建構軟體。
Rake是一個工具程式,藉由讀取叫做Rakefile的檔案來執行任務腳本,而這些任務腳本就是所謂的task。
操作方式
- 建立目錄
- 使用編輯器開啟所建立的目錄
- 在該目錄下建立Rakefile.rb檔案(檔名要正確)
- 輸入欲執行的指令
- 這裡使用
:sendmail
作為命令,執行任務 - 回到終端機並cd至該目錄下
- 指令:
rake sendmail #rake + 命令
- 使用
rake -T
,檢視該目錄下有哪些任務可執行 - 先在檔案裡為這個任務加上敘述
- 至終端機輸入rake -T
可以看到目前rake目錄裡有:sendmail # mail sender
預設任務
在編輯器裡加上
:default
並指向sendmail
這樣即使在終端機上僅輸入rake,也可得到預設的任務
如何印出 db:migrate
- 外面再使用namespace包覆即可