我了解一个人在类的“new”方法中使用了Perl中的“bless”关键字:
sub new {
my $self = bless { };
return $self;
}
但是,“祝福”到底对那个哈希引用做了什么?
最佳答案
通常,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/