ruby on rails
require、require_relative是什麼意思?差在哪?
雖然Ruby本身已經有非常多的功能,但還是常常在Ruby檔案中看到require 'something',例如要使用JSON.parse就必須先require 'json',如果不require就無法使用這些功能。到底這些在檔案最開頭的玩意兒代表什麼意思呢?如果不require又會怎麼樣? require最常見的意義 Ruby內建有許多library,在執行.rb檔案時就已經包含在程式內,包括常用的File、Date等等三不五時就會出現的class,這些因為大家常用,就直接在開始執行.rb程式時包含在Ruby內。但如果載入Ruby時就把所有libraries都放進去,啟動時間會太久,因此Ruby將許多比較沒那麼常用到的class抽出,需另外require。很常見的例子是require 'digest',是一個專門產生亂數、轉碼的工具: Digest::SHA256.hexdigest("HelloWorld") # => NameError: uninitialized constant Digest require 'digest' Digest::SHA256.he