如何在perl中返回新实例,例如在Java中:
public AClass getAClass() {
return new AClass();
}
答案 0 :(得分:0)
sub getAClass {
return new AClass();
}
但为什么呢
my $o = AClass->getAClass();
而不是
my $o = AClass->new();
答案 1 :(得分:0)
避免使用间接对象表示法。使用
AClass->new(...)
而不是
new AClass(...)
原因是前者总是做你期望的,而后者是模糊的语法 - 它代表前一个代码,还是它真的意味着这个?
new(AClass(...))
解析器可能猜错了解决这种歧义的错误意图。所以你应该避免它 - 改为使用直接箭头符号。