Mar*_*cus 3 validation parameters perl named
我在类方法调用中使用命名参数,并想知道是否有最佳实践来确保没有传递未知参数.这就是我在做什么
sub classmethod {
my $self = shift;
my %args = (
"param1" => "default1",
"param2" => "default2",
@_
)
if (my @invalid = grep { !/^(param1|param2)$/ } keys %args) {
croak "received unknown arg(s) ".join(",", @invalid)." from ".caller();
}
}
Run Code Online (Sandbox Code Playgroud)
这是一种正确的前进方式,还是会导致性能问题?
最好的,马库斯