婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

Ruby中require、load、include、extend的區別介紹

熱門標簽:電銷機器人廠商代理 徐州網絡外呼系統哪個好 常德電銷平臺外呼系統軟件價格 地圖標注賺錢項目注冊 滴滴外呼系統 湖州u友防封電銷卡 百度地圖標注自定義圖片 高德地圖標注客服 白銀外呼paas系統

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

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

復制代碼 代碼如下:

require ‘test_library'

2、load:
load用來多次加載一個庫,必須指定擴展名:
復制代碼 代碼如下:

load ‘test_library.rb'

3、extend:在定義類時使用,把module的實例方法作為當前類的類方法.
復制代碼 代碼如下:

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:在定義類時使用,把module的實例方法作為當前類的實例方法. 把module的變量作為當前類的類變量.
include并不會把module的實例方法拷貝到類中,只是做了引用,包含module的不同類都指向了同一個對象。如果你改變了module的定義,即使你的程序還在運行,所有包含module的類都會改變行為。
復制代碼 代碼如下:

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異同

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

巨人網絡通訊聲明:本文標題《Ruby中require、load、include、extend的區別介紹》,本文關鍵詞  Ruby,中,require,load,include,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby中require、load、include、extend的區別介紹》相關的同類信息!
  • 本頁收集關于Ruby中require、load、include、extend的區別介紹的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 旅游| 丽江市| 尼勒克县| 海原县| 永康市| 南宁市| 许昌县| 唐山市| 蛟河市| 阳朔县| 洪雅县| 宜黄县| 金昌市| 威海市| 蓝山县| 鲁甸县| 舞钢市| 永川市| 阳城县| 新巴尔虎右旗| 邹平县| 井陉县| 武功县| 梁平县| 邢台市| 汪清县| 和平县| 永善县| 贵德县| 龙山县| 宣城市| 颍上县| 涞水县| 萨迦县| 邓州市| 阿荣旗| 乌拉特后旗| 灌南县| 嘉义县| 宝山区| 峡江县|