1.include VS require
include同大多數(shù)其他的編程語言一樣跑另一個(gè)文件(run another file.)。它還可以追蹤到在過去中您剛才要求的,不會(huì)要求相同的文件兩次。去運(yùn)行其他文件沒有額外的功能,你可以用load的方法。
這個(gè)include方法把所有的方法從另一個(gè)模塊,包括他們到當(dāng)前的模塊。這是一個(gè)language-level件事與file-level和要求。include方法的主要途徑是和其他“類”擴(kuò)展模塊(通常被稱為mix-ins)。
include主要用來將一個(gè)模塊插入(mix)到一個(gè)類或者其它模塊。這個(gè)模塊的方法在引入它的類或模塊中以函數(shù)的形式調(diào)用(沒有一個(gè)receiver)。這個(gè)指令運(yùn)行時(shí)會(huì)執(zhí)行Module.append_features方法
2.require vs load
LOAD 一般是用在irb中的
裝載并執(zhí)行aFileName文件,文件搜索方法同上面的require。wrap是可選參數(shù),默認(rèn)為false,如果設(shè)為true,則這個(gè)文件將在匿名模塊下運(yùn)行,從而包括調(diào)用者的名字空間。任何aFileName里面的局部變量在裝載它的環(huán)境下是不可用的。
require 是用于腳本中
eg:加載A B2個(gè)類 其中A中使用了B類 B中也使用了A類
require ---加載的文件不需要后綴(.*),加載文件時(shí)只會(huì)加載一次 是說他加載了A B一次
load ---加載的時(shí)候 會(huì)加載A 然后在去加載B 加載b 然后在去加載A 這樣循環(huán)了。。。。
3.require load include
include :主要作用于.rb格式等文件的模塊
require :主要作用于.rb格式等文件
load:同require一樣作用于.rb格式等文件
4.extend
extend 用來在一個(gè)對(duì)象(object,或者說是instance)中引入一個(gè)模塊,這個(gè)類從而也具備了這個(gè)模塊的方法。