class Metamodel::ParametricRoleHOW
        does Metamodel::Naming
        does Metamodel::Documenting
        does Metamodel::Versioning
        does Metamodel::MethodContainer
        does Metamodel::PrivateMethodContainer
        does Metamodel::MultiMethodContainer
        does Metamodel::AttributeContainer
        does Metamodel::RoleContainer
        does Metamodel::MultipleInheritance
        does Metamodel::Stashing
        does Metamodel::TypePretense
        does Metamodel::RolePunning
        does Metamodel::ArrayType {}

警告:此类是 Rakudo 实现的一部分,不属于语言规范。

Metamodel::ParametricRoleHOW 表示一个未实例化的、可能带有参数的角色

(role Zape[::T{}).HOW.say;# OUTPUT: «Perl6::Metamodel::ParametricRoleHOW.new␤» 
(role Zape {}).HOW.say# OUTPUT: «Perl6::Metamodel::ParametricRoleHOW.new␤» 

与往常一样,.new_type 将创建一个此类的对象。

my \zipi := Metamodel::ParametricRoleHOW.new_typename => "zape"group => "Zape");
say zipi.HOW# OUTPUT: «Perl6::Metamodel::ParametricRoleHOW.new␤» 

额外的 group 参数需要用于将其集成到参数化角色组中,该组需要预先定义。

注意:与大多数 Metamodel 类一样,此类主要用于说明目的,并且不打算让最终用户实例化,除非他们的目的是真正创建参数化角色组。