我想寫個簡單的程序,做練習用,剛接觸這個。就是連續數字的和。傳入起始值和結束值(如傳入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貢獻1815條經驗 獲得超13個贊
sub myfunc {
my ($start, $end) = @_;
my $sum = 0;
$sum+= $_ for $start .. ($end+1);
return $sum;
}
print myfunc 1, 10;

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
#子過程和函數不一樣
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";
- 3 回答
- 0 關注
- 914 瀏覽
添加回答
舉報
0/150
提交
取消