我想重载 Moops 中的一些方法。
我已经尝试了以下代码:
method setIdNum() {
print "Please enter ID number: ";
chomp (my $input = <STDIN>);
$self->$idNum($input);
}
method setIdNum(Int $num) {
$self->$idNum($num);
}
但它通过说 setIdNum 被重新定义而出错。
如果你想要多方法,你必须在关键字multi
前面明确要求它们:method
multi method setIdNum() {
print "Please enter ID number: ";
chomp (my $input = <STDIN>);
$self->$idNum($input);
}
multi method setIdNum(Int $num) {
$self->$idNum($num);
}
您可能还需要在类声明中明确要求 Kavorka 支持:
class Whatever {
use Kavorka qw( multi method );
...