role Metamodel::Versioning { ... }

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

元模型角色,用于(可选)对元对象进行版本控制。

声明类型时,可以向其传递版本、作者和/或 API,并像这样获取它们

class Versioned:ver<0.0.1>:auth<github:Kaiepi>:api<1> { }
 
say Versioned.^ver;  # OUTPUT: «v0.0.1␤» 
say Versioned.^auth# OUTPUT: «github:Kaiepi␤» 
say Versioned.^api;  # OUTPUT: «1␤» 

这大致等效于以下内容,它还明确设置了它们

BEGIN {
    class Versioned { }
    Versioned.^set_ver:  v0.0.1;
    Versioned.^set_auth: 'github:Kaiepi';
    Versioned.^set_api:  <1>;
}
 
say Versioned.^ver;  # OUTPUT: «v0.0.1␤» 
say Versioned.^auth# OUTPUT: «github:Kaiepi␤» 
say Versioned.^api;  # OUTPUT: «1␤» 

方法§

方法 ver§

method ver($obj)

如果存在,则返回元对象的版本,否则返回 Mu

方法 auth§

method auth($obj)

如果存在,则返回元对象的作者,否则返回一个空字符串。

方法 api§

method api($obj)

如果存在,则返回元对象的 API,否则返回一个空字符串。

方法 set_ver§

method set_ver($obj$ver)

设置元对象的版本。

方法 set_auth§

method set_auth($obj$auth)

设置元对象的作者。

方法 set_api§

method set_api($obj$api)

设置元对象的 API。