Re: [問題] Perl 學習手冊 書上的問題
謝謝兩位的回答~
我把問題表答的清楚一點...
※ 引述《lzch (再努力一點...)》之銘言:
Perl 學習手冊 4e, O'REILLY
p.256
完整程式如下:
#!/usr/bin/perl
sub total {
my $sum;
foreach (@_) {
$sum += $_;
}
$sum;
}
sub average {
if (@_ == 0) { return }
my $count = @_;
my $sum = &total(@_);
$sum/$count;
}
sub above_average {
my $average = &average(@_);
my @list;
foreach $element (@_) {
if ($element > $average) {
push @list, $element;
}
}
@list;
}
my @fred = &above_average(1..10);
print "\@fred 的內容為 @fred\n";
print "(結果應該是 6 7 8 9 10)\n";
my @barney = &above_average(100, 1..10);
print "\@barney 的內容為 @barney\n";
print "(結果應該是 100 )\n";
...
...
副常式 above_average,會建立所需要之項目所構成之串列,並傳回
它。(為何迴圈的控制變數是 $element,而不是 Perl 最喜愛的預設
變數 $_?)請注意,這個副常式對於空串列有不同的處置方式。
==
我沒有原文,但是就我這本書讀到現在為止,
我以為作者的意思是,這裡不用 foreach (@_) 而用 foreach $element (@_)
是有特別的用意。(雖然我有試過將所有 $element 都換成 $_,仍可執行成功)
又或者和最後一句黃色部份有關??
還是我想太多了呢 :p
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.230.41
推
10/17 00:31, , 1F
10/17 00:31, 1F
→
10/17 00:33, , 2F
10/17 00:33, 2F
→
10/17 00:35, , 3F
10/17 00:35, 3F
→
10/17 00:37, , 4F
10/17 00:37, 4F
→
10/17 00:39, , 5F
10/17 00:39, 5F
→
10/17 00:39, , 6F
10/17 00:39, 6F
推
10/19 11:17, , 7F
10/19 11:17, 7F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 3 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章