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

首頁 > 編程 > Ruby > 正文

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

2020-02-24 15:38:47
字體:
來源:轉載
供稿:網友

當我們在寫函數的時候有一個以上的類并且需要函數時,你可以在模塊中定義函數并包含它,本文重點講述Ruby中require、load、include、extend的區別,一起來看看吧!

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中require、load、include、extend的區別。看完上面的內容之后,是不是覺得在工作中是非常實用的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成人毛片视频免费看 | 国产精品一区二区三区在线看 | 成年性羞羞视频免费观看无限 | 亚洲精品成人18久久久久 | 龙的两根好大拔不出去h | 4p嗯啊巨肉寝室调教男男视频 | h视频在线免费观看 | 男女一边摸一边做羞羞视频免费 | 欧美一级鲁丝片免费看 | 九九热在线精品视频 | 亚洲国产精品久久久久制服红楼梦 | 久久99久久99免费视频 | 国产在线精品一区二区 | 黄色影院网站 | 久久久久久久久久久国产精品 | www视频免费观看 | 91精品国产乱码久久久久久久久 | 黄色大片免费看 | 91综合影院| 国产噜噜噜 | 欧美一级黄色网 | 精品一区二区在线视频 | 免费国产自久久久久三四区久久 | 日韩视频在线观看免费 | 免费a级片在线观看 | 国产一级一国产一级毛片 | 永久av在线免费观看 | 久久成人亚洲 | 毛片大全在线观看 | 日本中文字幕高清 | 久草热久草视频 | 中文字幕精品在线视频 | 亚洲视频综合网 | 国产女同玩人妖 | 一级免费毛片 | 亚洲第一综合色 | 久久精品视频16 | 久色婷婷| 午夜精品在线视频 | 国产精品一区在线免费观看 | 久久亚洲精品久久国产一区二区 |