我想在Moops中超载一些方法。
我尝试了以下代码:
method setIdNum() {
print "Please enter ID number: ";
chomp (my $input = <STDIN>);
$self->$idNum($input);
}
method setIdNum(Int $num) {
$self->$idNum($num);
}但是它错误的说setIdNum是重新定义的。
发布于 2014-12-04 17:12:24
如果您想要多个方法,您必须显式地请求它们,方法是将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 );
...https://stackoverflow.com/questions/27299498
复制相似问题