[Perl] recursividad en perl
Max de Mendizábal
max en upn.mx
Lun Mayo 9 13:43:35 CDT 2005
Todos los lenguajes modernos tienen recursión, nada más hay que aprender
a usarla. Ya Gunnar te contestó varias preguntas, mi versión es la siguiente
#/usr/bin/perl -w
sub factorial
{
my $num = shift @_ || 0;
if ($num != 1) {
return $num * factorial($num-1);
}
1;
}
print factorial(5);
print "\n";
Observa que por ahí dejé un 1; esto quiere decir que, si no se cumple el
return del if, va a regresar un uno. También observa que prefiero usar
shift @_ para tomar el parámetro.
Saludos
-------------------------------
Max de Mendizábal
max en upn.mx
Subdirección de Informática
Universidad Pedagógica Nacional
Jorge Alejandro Adell escribió:
> segun mi pequeño script para verificar si perl admite la recursividad,
> vi que no es posible esto. O tambien puede ser que este haciendo algo
> mal.
> Puede ser que perl no admita la recursividad.
> Este fue mi experimento para verificarlo.
>
> sub factorial
> {
> $num = $_[0] | 0;
> if ( $num != 1)
> {
> $resultado = $num * factorial($num-1);
> }
> }
>
> print factorial(5);
>
> Devuelve 0
>
> _______________________________________________
> Perl mailing list
> Perl en tlali.iztacala.unam.mx
> http://tlali.iztacala.unam.mx/cgi-bin/mailman/listinfo/perl
>
Más información sobre la lista de distribución Perl