gpt4 book ai didi

perl - 在 Moose 中,如果一个角色定义了一个具有默认值的属性,我如何在我的消费类中更改该默认值?

转载 作者:行者123 更新时间:2023-12-04 22:21:53 25 4
gpt4 key购买 nike

我的 Moose 类(class)使用了一个我不允许更改的角色。该角色定义了一个具有默认值的属性。我需要我的类(class)具有该属性,但具有不同的默认值。

那可能吗?

我所能想到的就是用我自己的一些代码围绕"new"方法,如下所示:

around new => sub {
my ($orig, $self) = (shift, shift);
return $self->$orig(@_, the_attribute => $new_value);
}

但我不确定周围的 new 是否有效,并且还希望有更优雅的东西。

最佳答案

一个更好、更简单的方法是在你的类中写这个:

has '+the_attribute' => (
default => sub{1},
}

带有 has+ 允许您仅覆盖属性的特定属性。

比周围的BUILDARGS简单得多。

关于perl - 在 Moose 中,如果一个角色定义了一个具有默认值的属性,我如何在我的消费类中更改该默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15325518/

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