日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Ruby的module(模块)

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ruby的module(模块) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
定義模塊用module...end 。模塊與類非常相似,但是:模塊不可以有實例對象;模塊不可以有子類。#Module(模塊)
module?Module1
??def?sqrt(num,?rx=1,?e=1e-10)
????num*=1.0
????(num?-?rx*rx).abs?<e???rx?:?sqrt(num,?(num/rx?+?rx)/2,?e)
??end
end

puts?"Module?demo:"
include?Module1
puts?sqrt(456,?7,?0.01)?#21.3541565188558#Module(模塊)方法;模塊方法提供了一個途徑,在模塊的外部訪問模塊內部方法,無須 include 模塊。定義模塊常量不需要如此。module?Module2
??def?Module2.sayHello(*num)
????"Welcome?to?Ruby?world."
??end
??PI=3.14
end
puts?"Module?method:"
puts?Module2.sayHello
puts?Module2::PI?#3.14
puts?Math::PI?#3.141592653589793#模塊的第三個作用:實現了類似多重繼承的功能puts?"multiple?inheritance:"
class?Person
??def?talk
????puts?"I'm?talking."
??end
??#通過"include?模塊名?"?,一個類可以得到某個模塊的常量和方法,這里為了演示多繼承,我們把其放到子類
??#include?Module1

end
=begin
??person=Person.new
??person.talk???#?I'm?talking.
??puts?person.sqrt(20.7,3.3)?#?4.54972526643248
=end
class?Student?<?Person
??#通過"include?模塊名?"?,一個類可以得到某個模塊的常量和方法
??include?Module1
end

aStudent=Student.new
aStudent.talk?#?I'm?talking.
puts?aStudent.sqrt(20.7,3.3)?#?4.54972526643248#extend:給特定對象實例添加Moduleclass?StudentEx?
end
stuEx=StudentEx.new

stuEx.extend(Module1)
puts?stuEx.sqrt(20.7,3.3)?#?4.54972526643248

轉載于:https://www.cnblogs.com/jeriffe/archive/2012/01/31/2333032.html

總結

以上是生活随笔為你收集整理的Ruby的module(模块)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。