Soy relativamente nuevo en Perl y no quiero utilizar la función List::Utilmax
para encontrar el valor máximo de una matriz determinada.¿Por qué mi función Perl max() siempre devuelve el primer elemento de la matriz?
Cuando pruebo el código siguiente, simplemente devuelve el primer valor de la matriz, no el máximo.
sub max
{
my @array = shift;
my $cur = $array[0];
foreach $i (@array)
{
if($i > $cur)
{
$cur = $i;
}
else
{
$cur = $cur;
}
}
return $cur;
}
Ahora que ha aprendido a implementar max(), use el max() de List :: Util. Será más rápido y tendrá menos errores. – Schwern
¿Alguna razón en particular por la cual no quiere/no puede usar el 'máx' de List :: Util? –
Solo un consejo: 'else {$ cur = $ cur}' no hace nada, así que quítelo. Las variables no olvidan sus valores solo porque no los usaste esta vez a través de un bucle :) – hobbs