• Publicidad

¿Cómo introducir un hash como argumento en una subrutina?

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: ¿Cómo introducir un hash como argumento en una subrutina?

Notapor salva » 2009-12-31 13:41 @612

anush escribiste: Al final utilicé esto en cierta manera para poder introducir un hash en una subrutina con mis posibilidades, es decir, mediante el paso por referencia de un array, que lo conozco.

¿Pero, si entiendes cómo pasar arrays, dónde encuentras la dificultad a la hora de pasar hashes, que se hace exactamente de la misma manera?
Avatar de Usuario
salva
Perlero nuevo
Perlero nuevo
 
Mensajes: 200
Registrado: 2008-01-03 15:19 @680

Publicidad

Re: ¿Cómo introducir un hash como argumento en una subrutina?

Notapor explorer » 2009-12-31 13:50 @618

Para mí que anush no ha prestado atención...

Esto que tu tienes:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my @claves  = keys   %hash;
my @valores = values %hash;

subrutina(\@claves, \@valores, $elemento);

sub subrutina{
    my ($claves, $valores, $elemento) = @_ ;
    my @claves  = @$claves;
    my @valores = @$valores;
    my %codigonuevo;
    my $i;
    for($i=0;$i< scalar(@claves);++$i) {
        $codigonuevo{$claves[$i]} = $valores[$i];
    }
    #...
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

equivale a
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
subrutina(\%hash, $elemento);

sub subrutina{
    my ($hash_ref, $elemento) = @_ ;
    my %codigonuevo = %$hash_ref;
    #...
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 41 invitados