module AWhouse

# 模块空间里边定义的方法和常量不会与其他地方冲突
module AWhouse
  # 定义常量
  SP = 'now'
  Corbusier = 1830
  # 定义方法
  # 模块名称.方法名
  def AWhouse.y(x)
   # ...
  end
end

# 调用模块文件
# 如果模块写在独立的文件中比如support.rb
# 首先需要使用 require filename 语句引用该文件
$LOAD_PATH << '.'
require "support"
# 模块中的常量通过 :: 调用
AWhouse::Corbusier
# 模块中的方法通过 模块名.方法 调用
AWhouse.y(x)
# 使用 include modulename 在class中引用模块
class Sample
  include AWhouse
  # 使用多个 inlcude 可以实现mixin
  include AWhosue
    # ...
  end
© AWhouse