Module

模块的类。

超类

方法

self === obj

此方法主要用于 case 语句中的比较。若是 objself 之间有 Object#kind_of? 的关系则返回 true。换句话说,在 case 中可以用来检查类、模块的从属关系。

str = String.new
case str
when String     # evaluates String === str
  p true        # => true
end

私有方法

attr_accessor(name ...)

定义属性 name 的读写方法,nameSymbol 或字符串指定。

该方法定义的方法如下:

def name
  @name
end
def name=(val)
  @name = val
end
attr_reader(name ... )

定义属性 name 的读取方法,nameSymbol 或字符串指定。

该方法定义的方法如下:

def name
  @name
end
attr_writer(name ... )

定义属性 name 的写入方法(name=),nameSymbol 或字符串指定。

该方法定义的方法如下:

def name=(val)
  @name = val
end
include(module ...)

添加指定模块的性质(方法和常量)。返回 self。include 用于实现替代多重继承的 Mix-in。

class C
  include FileTest
  include Math
end

模块追加功能是通过在类的继承关系中插入该模块来实现的。因此,在搜索方法时,包含的模块会优先于超类进行搜索。

若是重复包含同个模块时,无视第二次之后的 include。此外,若是执行 include 时会导致模块间循环继承,则会抛出 ArgumentError 异常。