gpt4 book ai didi

perl - 将属性重置为默认值

转载 作者:行者123 更新时间:2023-12-05 00:29:55 25 4
gpt4 key购买 nike

我可以像这样用 Moose 声明一个属性:

has 'attr' => (is => 'rw', isa => 'Int', default => 10);

是否可以将此值重置为默认值?

例子:
$obj->attr(5); # sets attr to 5
$obj->_reset_attr;
print $obj->attr; # will print 10

最佳答案

如果你这样做:

has 'attr' => (
is => 'rw',
isa => 'Int',
lazy => 1,
default => 10,
clearer => '_clear_attr',
);

那么你可以这样做:
my $obj = Class->new;
print $obj->attr; # 10
$obj->attr(5);
print $obj->attr; # 5
$obj->_clear_attr;
print $obj->attr; # 10
lazy的组合和 clearer在这里很重要。

关于perl - 将属性重置为默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16742019/

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