role Metamodel::AttributeContainer {}

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

类、角色和语法可以具有属性。此角色实现了属性的存储和内省。

方法§

方法 add_attribute§

method add_attribute($obj$attribute)

添加属性。$attribute 必须是一个支持 nametypepackage 方法的对象,这些方法在没有参数的情况下调用。例如,它可以是 类型 Attribute

方法 attributes§

method attributes($obj)

返回属性列表。对于大多数 Raku 类型,这些将是 类型 Attribute 的对象。

方法 set_rw§

method set_rw($obj)

标记一个类型的属性默认为具有写访问器。例如,在

class Point is rw {
    has $.x;
    has $.y;
}

类上的 is rw 特性调用元类的 set_rw 方法,使所有属性隐式可写,以便您可以编写;

my $p = Point.new(x => 1=> 2);
$p.x = 42;

方法 rw§

method rw($obj)

如果已对此对象调用 方法 set_rw,则返回 true 值,即如果默认情况下可以写入新的公共属性。