在角色 Metamodel::Mixins 中§

有关方法 mixin 的主要文档,请参阅上下文

method mixin($obj*@roles:$needs-mixin-attribute)

通过使用 $obj@roles 调用 generate_mixin 来生成新的 mixin 类型。如果 $obj 是组合的,则会事先检查 $obj 的 mixin 缓存中是否存在这些的任何现有 mixin。如果 $obj 是类型的实例,这将返回使用生成的 mixin 重新祝福的 $obj,否则这将返回 mixin 本身。

如果 $needs-mixin-attributeTrue,则如果在返回之前生成的 mixin 上不存在 mixin 属性,则会引发异常。