一個簡單的混合包括

module SomeMixin
  def foo
    puts "foo!"
  end
end

class Bar
  include SomeMixin
  def baz
    puts "baz!"
  end
end

b = Bar.new
b.baz         # => "baz!"
b.foo         # => "foo!"
# works thanks to the mixin

現在 Bar 是自己的方法和 SomeMixin 的方法的混合。

請注意,如何在類中使用 mixin 取決於它的新增方式:

  • include 關鍵字評估類上下文中的模組程式碼(例如,方法定義將是類例項上的方法),
  • extend 將在物件的單例類的上下文中評估模組程式碼(方法可直接在擴充套件物件上使用)。