麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

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

2020-10-29 19:39:03
字體:
來源:轉載
供稿:網友

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美乱论 | 91社区电影 | 国产五区 | 免费1级做55爰片l在线观看 | 国产大片在线观看 | 久久久一区二区三区精品 | 久在线播放 | 337p日本欧洲亚洲大胆精蜜臀 | 电影av在线 | 毛片a片| 亚州综合一区 | 美女一级毛片 | 激情小说区 | 成人不卡免费视频 | 日本教室三级在线看 | 日日狠狠久久偷偷四色综合免费 | 国产免费福利视频 | 国产精品久久久久久久不卡 | 色视频在线播放 | 国产成人高清成人av片在线看 | 日韩欧美电影在线观看 | 精品一区二区三区不卡 | 久久久99精品视频 | 国产成人精品区一区二区不卡 | 激情视频免费看 | 91精品成人福利在线播放 | 精品小视频 | 日韩中文一区 | 免费观看国产精品视频 | 一区二区免费看 | 国产九色在线播放九色 | 国产成人自拍av | 国产女厕一区二区三区在线视 | 欧美一级黄色录相 | 嗯~啊~弄嗯~啊h高潮视频 | 亚洲欧美国产高清va在线播放 | 激情小视频在线观看 | 国产高潮好爽好大受不了了 | 国产午夜精品久久久久 | 精品亚洲夜色av98在线观看 | 黑人一级片视频 |