DIEA
2019-03-20 11:13:06
我想寫個(gè)簡單的程序,做練習(xí)用,剛接觸這個(gè)。就是連續(xù)數(shù)字的和。傳入起始值和結(jié)束值(如傳入1,和10,就求1到10累加的值)。perl這種語言感覺太惡心了,怎么寫都錯(cuò),完全沒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";上面的怎么錯(cuò)了。寫成myfunc(1,10)時(shí)錯(cuò)的更厲害,完全弄不清楚perl是怎么搞的。還有函數(shù)里聲明的變量默認(rèn)是my 還是local的。
3 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
sub myfunc {
my ($start, $end) = @_;
my $sum = 0;
$sum+= $_ for $start .. ($end+1);
return $sum;
}
print myfunc 1, 10;

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
#子過程和函數(shù)不一樣
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 關(guān)注
- 912 瀏覽
添加回答
舉報(bào)
0/150
提交
取消