Ruby一个包含 include 的简单 mixin

例子

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!"

# 由于 mixin 工作

NowBar是它自己的方法和来自SomeMixin.

请注意,在类中如何使用 mixin 取决于它是如何添加的:

  • 所述include关键字评价在类上下文模块代码(例如,方法的定义将在类的实例的方法),

  • extend 将在对象的单例类的上下文中评估模块代码(方法可直接在扩展对象上使用)。

以上是 Ruby一个包含 include 的简单 mixin 的全部内容, 来源链接: utcz.com/z/327479.html

回到顶部