本文介绍了如何声明函数并递归使用它,而不过早调用";以检查原型";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个泛型递归函数,但为什么在Perl中没有授权
sub pv($) {
my ($vars) = @_;
if(ref($vars) eq 'SNMP::Varbind') {
return $vars->tag() . (defined($vars->iid()) ? '.' . $vars->iid() : '');
} elsif (ref($vars) eq 'SNMP::VarList') {
return join(', ', map { pv($_) } @$vars);
} elsif(ref($vars) eq 'ARRAY') {
return join('.', @{$vars});
} else {
return $vars;
}
}
此行返回Join(‘,’,map{pv($_)}@$vars)的错误代码"pv()调用太早,无法检查原型";
推荐答案
简单:转发声明
sub pv($);
sub pv($) {
这篇关于如何声明函数并递归使用它,而不过早调用";以检查原型";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!