在 Mu 中§

有关 方法 bless,请参阅主要文档 按上下文查看

method bless(*%attrinit --> Mu:D)

低级对象构造方法,通常从 new 中调用,从默认构造函数中隐式调用,或者在创建自己的构造函数时显式调用。bless 创建一个与调用者类型相同的新对象,使用命名参数初始化属性并返回创建的对象。

通常在自定义 new 方法实现中调用

class Point {
    has $.x;
    has $.y;
    multi method new($x$y{
        self.bless(:$x:$y);
    }
}
my $p = Point.new(-11);

在此示例中,我们声明此 new 方法以避免在创建对象时使用对的额外语法。self.bless 返回对象,该对象又由 new 返回。new 被声明为 多方法,以便我们仍然可以使用默认构造函数,如下所示:Point.new( x => 3, y => 8 )

有关更多详细信息,请参阅 有关对象构造的文档