国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

介紹Ruby中的模塊與混合類型的相關知識

2019-10-26 19:26:43
字體:
來源:轉載
供稿:網友

模塊是組合在一起的方法,類和常量。模塊兩個主要好處:

    模塊提供了一個命名空間,并避免名稱沖突。     模塊實現混合工廠。

模塊定義了一個命名空間,一個沙箱中方法和常量可以自由使用,而不必擔心踩到其他的方法和常數。
語法:

module Identifier  statement1  statement2  ...........end

就像被命名為類常量模塊中的常量,首字母大寫。定義的方法看起來很相似,模塊定義方法就像類的方法。

調用一個模塊方法和類方法一樣,通過模塊的名稱它名字前,引用一個常數使用該模塊的名稱和兩個冒號。
例子:

#!/usr/bin/ruby# Module defined in trig.rb filemodule Trig  PI = 3.141592654  def Trig.sin(x)  # ..  end  def Trig.cos(x)  # ..  endend

我們可以定義一個函數名相同,但在不同的功能模塊:

#!/usr/bin/ruby# Module defined in moral.rb filemodule Moral  VERY_BAD = 0  BAD = 1  def Moral.sin(badness)  # ...  endend

和類的方法一樣,當在一個模塊中定義的方法,指定模塊名稱后面跟著一個點,那么該方法的名稱。
Ruby require 語句:

require 語句聲明的是類似于 C/C++ 的 include語句 和 Java 的 import 語句。如果有第三個程序要使用任何定義的模塊,它可以簡單地使用Ruby require 語句加載的模塊文件:
語法:

require filename

在這里,它不是必需的  .rb 文件名擴展。
例如:

require 'trig.rb'require 'moral'y = Trig.sin(Trig::PI/4)wrongdoing = Moral.sin(Moral::VERY_BAD)

重要: 在這里,這兩個文件都包含相同的函數名。因此,這將導致在代碼中的歧義,同時包括在調用程序,但的模塊避免這個代碼模糊,我們能夠調用適當的功能模塊的名稱。
Ruby include 語句:

可以嵌入在一個類模塊。要在一個類中嵌入模塊,可以使用類中 include 語句:
語法:

include modulename

如果一個模塊被定義在單獨的文件,那么它需要包含該文件需要隱藏于公開的模塊在一個類的 require  語句之前。
例子:

考慮以下模塊寫在support.rb文件。

module Week  FIRST_DAY = "Sunday"  def Week.weeks_in_month   puts "You have four weeks in a month"  end  def Week.weeks_in_year   puts "You have 52 weeks in a year"  endend

現在,可以在如下一類包括這個模塊:

#!/usr/bin/rubyrequire "support"class Decadeinclude Week  no_of_yrs=10  def no_of_months   puts Week::FIRST_DAY   number=10*12   puts number  endendd1=Decade.newputs Week::FIRST_DAYWeek.weeks_in_monthWeek.weeks_in_yeard1.no_of_months

這將產生以下結果:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玉门市| 同仁县| 滦平县| 大竹县| 论坛| 江安县| 都江堰市| 乃东县| 肥西县| 白银市| 三门峡市| 柏乡县| 天柱县| 太白县| 广州市| 霸州市| 南充市| 鲁甸县| 乐至县| 绥滨县| 阿勒泰市| 诏安县| 稷山县| 延吉市| 沁阳市| 宁乡县| 拜城县| 贺兰县| 乌兰察布市| 兴义市| 金堂县| 辉南县| 富锦市| 唐山市| 丁青县| 五峰| 华亭县| 衢州市| 横山县| 凯里市| 柞水县|