为了账号安全,请及时绑定邮箱和手机立即绑定

perl中函数调用的问题

perl中函数调用的问题

PHP
三国纷争 2019-05-14 13:08:55
我想写个简单的程序,做练习用,刚接触这个。就是连续数字的和。传入起始值和结束值(如传入1,和10,就求1到10累加的值)。perl这种语言感觉太恶心了,怎么写都错,完全没C C# Java那么清晰。sub myfunc(){($startIndex,$endIndex)=@_;my $sum = 0;for($i=$startIndex;$i<=$endIndex;$i++){$sum = $sum+$i;}return $sum;}my $startIndex = 1;my $endIndex = 10;$s = myfunc();print "$s";上面的怎么错了。写成myfunc(1,10)时错的更厉害,完全弄不清楚perl是怎么搞的。还有函数里声明的变量默认是my 还是local的。
查看完整描述

3 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

sub myfunc {
my ($start, $end) = @_;
my $sum = 0;
$sum+= $_ for $start .. ($end+1);
return $sum;
}

print myfunc 1, 10;



查看完整回答
反对 回复 2019-05-15
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

#!/usr/bin/perl -w
sub myfunc(){
(my $startIndex,my $endIndex)=@_;
my $sum = 0;
for($i=$startIndex;$i<=$endIndex;$i++){
$sum = $sum+$i;
}
return $sum;
}
$s = &myfunc(1,10);
print "$s\n";


 



查看完整回答
反对 回复 2019-05-15
?
jeck猫

TA贡献1909条经验 获得超7个赞

#子过程和函数不一样
sub myfunc
{
my ($startIndex,$endIndex)=@_;
my $sum = 0;
for($i=$startIndex;$i<=$endIndex;$i++){
$sum += $i;
}
return $sum;
}
my $startIndex = 1;
my $endIndex = 10;
$s = myfunc($startIndex ,$endIndex);

print "sum is $s\n";






查看完整回答
反对 回复 2019-05-15
  • 3 回答
  • 0 关注
  • 502 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信