作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法将 Moose 提供的默认构造函数重命名为“new”以外的名称?
我想这样做是为了让脚本对用户更友好,因为将构造函数命名为不同的名称(例如“make_thing”)更有意义
my $object = Class->make_thing();
我怎样才能做到这一点?
让我举个例子,说明这可能对用户更友好......
假设我正在构建一个处理 CVS 存储库信息的模块,该模块称为“CVS”。我可以使用
创建存储库的实例$repository = CVS->new()
或者如果我可以更改构造函数的名称,我可以这样调用它
$repository = CVS->get_repository()
这对用户来说更符合逻辑。
最佳答案
有时拥有替代构造函数是有意义的。例如,如果您查看 Net::Works::Network ,它有 new_from_string
和 new_from_integer
方法。除非你有充分的理由,否则我不会使用 new
以外的东西。话虽如此,如果您认为它对用户更有帮助,您可以添加一个方便的方法。
sub get_repository {
my $class = shift;
return $class->new( @_ );
}
关于perl - 如何重命名 Perl 的 Moose 模块提供的默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336211/
我是一名优秀的程序员,十分优秀!