第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Ruby中的include和require有什么區(qū)別?

Ruby中的include和require有什么區(qū)別?

瀟瀟雨雨 2019-09-27 16:46:32
我的問(wèn)題類似于“ 在Ruby中包含和擴(kuò)展之間有什么區(qū)別? ”。require和includeRuby有什么區(qū)別?如果我只想使用我班上某個(gè)模塊中的方法,應(yīng)該require還是include應(yīng)該?
查看完整描述

3 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

Ruby中的“ include”和“ require”有什么區(qū)別?


回答:


include和require方法的作用截然不同。


require方法可以完成大多數(shù)其他編程語(yǔ)言所包含的功能:運(yùn)行另一個(gè)文件。它還會(huì)跟蹤您過(guò)去所需的內(nèi)容,并且不需要兩次相同的文件。要運(yùn)行沒(méi)有此附加功能的另一個(gè)文件,可以使用load方法。


include方法將從另一個(gè)模塊中獲取所有方法,并將它們包括到當(dāng)前模塊中。與require相比,這是語(yǔ)言級(jí)別的事情,而不是文件級(jí)別的事情。include方法是使用其他模塊(通常稱為混合)“擴(kuò)展”類的主要方法。例如,如果您的類定義了方法“ each”,則可以包括mixin模塊Enumerable,并且它可以充當(dāng)集合。由于include動(dòng)詞在其他語(yǔ)言中的用法非常不同,因此可能會(huì)造成混淆。


資源


因此,如果您只想使用模塊,而不是擴(kuò)展它或進(jìn)行混入,那么您將要使用require。


奇怪的是,Ruby的require類似于C中的include,而Ruby的include是幾乎沒(méi)有像C的include。


查看完整回答
反對(duì) 回復(fù) 2019-09-27
?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

從元編程Ruby書中,


該require()方法與十分相似load(),但是其目的不同。您用于load()執(zhí)行代碼,并 require()用于導(dǎo)入庫(kù)。


查看完整回答
反對(duì) 回復(fù) 2019-09-27
?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

如果使用模塊,則意味著將所有方法都帶入類中。如果您extend使用帶有模塊的類,則意味著您將“引入”模塊的方法作為類方法。如果您include使用模塊類,則意味著您將“引入”模塊的方法作為實(shí)例方法。


EX:


 module A

   def say

     puts "this is module A"

   end

 end


 class B

   include A

 end


 class C

   extend A

 end

B.say => B:Class的未定義方法“ say”


B.new.say =>這是模塊A


C.say =>這是模塊A


C.new.say => C:Class的未定義方法“ say”


查看完整回答
反對(duì) 回復(fù) 2019-09-27
  • 3 回答
  • 0 關(guān)注
  • 1138 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)