gpt4 book ai didi

perl - 如何重命名 Perl 的 Moose 模块提供的默认构造函数?

转载 作者:行者123 更新时间:2023-12-02 00:56:34 40 4
gpt4 key购买 nike

有没有办法将 Moose 提供的默认构造函数重命名为“new”以外的名称?

我想这样做是为了让脚本对用户更友好,因为将构造函数命名为不同的名称(例如“make_thing”)更有意义

my $object = Class->make_thing();

我怎样才能做到这一点?


让我举个例子,说明这可能对用户更友好......

假设我正在构建一个处理 CVS 存储库信息的模块,该模块称为“CVS”。我可以使用

创建存储库的实例

$repository = CVS->new()

或者如果我可以更改构造函数的名称,我可以这样调用它

$repository = CVS->get_repository()

这对用户来说更符合逻辑。

最佳答案

有时拥有替代构造函数是有意义的。例如,如果您查看 Net::Works::Network ,它有 new_from_stringnew_from_integer 方法。除非你有充分的理由,否则我不会使用 new 以外的东西。话虽如此,如果您认为它对用户更有帮助,您可以添加一个方便的方法。

sub get_repository {
my $class = shift;
return $class->new( @_ );
}

关于perl - 如何重命名 Perl 的 Moose 模块提供的默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336211/

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