我对Perl比较新,我不想使用List::Utilmax
函数来查找给定数组的最大值。为什么我的Perl max()函数总是返回数组的第一个元素?
当我测试下面的代码时,它只是返回数组的第一个值,而不是最大值。
sub max
{
my @array = shift;
my $cur = $array[0];
foreach $i (@array)
{
if($i > $cur)
{
$cur = $i;
}
else
{
$cur = $cur;
}
}
return $cur;
}
现在你已经学会了如何实现max(),使用List :: Util的max()。它会更快,并且有更少的错误。 – Schwern 2010-02-25 01:44:39
为什么你不想/不能使用List :: Util的'max'? – 2010-02-25 02:20:58
只是一个提示:'else {$ cur = $ cur}'什么都不做,所以删除它。变量不会忘记它们的值,因为这次你没有通过循环来使用它们。) – hobbs 2010-02-25 03:10:07