濮阳杆衣贸易有限公司

主頁 > 知識庫 > Ruby中require、load、include、extend的區(qū)別介紹

Ruby中require、load、include、extend的區(qū)別介紹

熱門標(biāo)簽:電銷機(jī)器人廠商代理 徐州網(wǎng)絡(luò)外呼系統(tǒng)哪個(gè)好 常德電銷平臺外呼系統(tǒng)軟件價(jià)格 地圖標(biāo)注賺錢項(xiàng)目注冊 滴滴外呼系統(tǒng) 湖州u友防封電銷卡 百度地圖標(biāo)注自定義圖片 高德地圖標(biāo)注客服 白銀外呼paas系統(tǒng)

require,load用于文件,如.rb等等結(jié)尾的文件。include,load則用于包含一個(gè)文件中的模塊。
require 一般情況下用于加載庫文件,而load則用于加載配置文件。

1、require:加載一個(gè)庫,并且只加載一次,如果多次加載會返回false。只有當(dāng)要加載的庫位于一個(gè)分離的文件中時(shí)才有必要使用require。使用時(shí)不需要加擴(kuò)展名,一般放在文件的最前面:

復(fù)制代碼 代碼如下:

require ‘test_library'

2、load:
load用來多次加載一個(gè)庫,必須指定擴(kuò)展名:
復(fù)制代碼 代碼如下:

load ‘test_library.rb'

3、extend:在定義類時(shí)使用,把module的實(shí)例方法作為當(dāng)前類的類方法.
復(fù)制代碼 代碼如下:

module Test
 def class_type
  "This class is of type:#{self.class}"
 end
end

class TestClass
 extend Test
end

puts TestClass.class_type  #=>  This class is of type:Class


4、include:在定義類時(shí)使用,把module的實(shí)例方法作為當(dāng)前類的實(shí)例方法. 把module的變量作為當(dāng)前類的類變量.
include并不會把module的實(shí)例方法拷貝到類中,只是做了引用,包含module的不同類都指向了同一個(gè)對象。如果你改變了module的定義,即使你的程序還在運(yùn)行,所有包含module的類都會改變行為。
復(fù)制代碼 代碼如下:

module Test
 @a = 1
 def class_type
  "This class is of type:#{self.class}"
 end
end

class TestClass
 include Test
end

# puts TestClass.class_type  #=> undefined method `class_type' for TestClass:Class (NoMethodError)

puts TestClass.new.class_type  #=> This class is of type:TestClass

您可能感興趣的文章:
  • Ruby 中的 module_function 和 extend self異同

標(biāo)簽:公主嶺 荊門 永州 普洱 三沙 張家界 梧州 遼寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby中require、load、include、extend的區(qū)別介紹》,本文關(guān)鍵詞  Ruby,中,require,load,include,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ruby中require、load、include、extend的區(qū)別介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ruby中require、load、include、extend的區(qū)別介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    新野县| 梓潼县| 安吉县| 红安县| 武冈市| 龙陵县| 南江县| 信宜市| 苏州市| 历史| 渝中区| 桐乡市| 蓝田县| 乳山市| 阿克| 宣城市| 中江县| 秀山| 伊春市| 兴业县| 静乐县| 邓州市| 金沙县| 砚山县| 云南省| 若尔盖县| 巨鹿县| 耿马| 岑溪市| 大方县| 微山县| 翼城县| 渭南市| 南充市| 依兰县| 资阳市| 莫力| 清流县| 内江市| 家居| 武强县|