gpt4 book ai didi

perl - Perl 的 "bless"到底是做什么的?

转载 作者:行者123 更新时间:2023-12-03 04:26:37 24 4
gpt4 key购买 nike

我知道有人在 Perl 中的类的“new”方法中使用“bless”关键字:

sub new {
my $self = bless { };
return $self;
}

但是“bless”到底对该哈希引用做了什么?

最佳答案

一般来说,bless 将对象与类关联起来。

package MyClass;
my $object = { };
bless $object, "MyClass";

现在,当您调用 $object 上的方法时,Perl 知道要在哪个包中搜索该方法。

如果省略第二个参数(如您的示例所示),则使用当前的包/类。

为了清楚起见,您的示例可能会写成如下:

sub new { 
my $class = shift;
my $self = { };
bless $self, $class;
}

编辑:参见 kixx很好answer了解更多细节。

关于perl - Perl 的 "bless"到底是做什么的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/392135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com