• Publicidad

Pregunta de niño sobre arreglos en Perl

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Pregunta de niño sobre arreglos en Perl

Notapor danimera » 2006-08-14 10:16 @469

Código: Seleccionar todo
$coins[0];
$coins[1];
$coins[2];
$coins[3];

Pretendo eliminar un elemento del array, puede ser el 2, pero quiero eliminar este elemento y que los demas suban de posición sin tener que crear otro array a partir de este y que sólo me pase los elementos que deseo tener y no me pase el elemento que no deseo, como sería esto, yo tengo este ejemplo
Código: Seleccionar todo
@coins=("brazil","alemania","colombia","peru");
$i = 0;
foreach $moneda (@coins) {
    if ($moneda ne "alemania") {
        $latinas[$i] = $moneda;
    }
    $i++;
}

¿?¿?¿?¿?Pero cual sería la forma más correcta de hacerlo.?¿?¿?¿?¿?
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Publicidad

Notapor explorer » 2006-08-14 11:14 @510

Pues si quieres borrar un elemento, usa splice:
Código: Seleccionar todo
@coins = qw( brazil alemania colombia peru );
splice( @coins, 2, 1 );
print "@coins"; # brazil alemania peru

O delete si estás seguro de que quieres eliminar el último elemento.
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

Notapor danimera » 2006-08-14 12:18 @554

Código: Seleccionar todo
@coins = qw( brazil alemania colombia peru );
splice( @coins, 2, 1 );# ((((el dos significa el índice 2 que significa el 3º)))
print "@coins"; # brazil alemania peru

Entonces después de eliminar el indice 2 el contenido del 3 pasará al índice 2 ¿?¿
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Notapor kidd » 2006-08-14 12:35 @566

danimera escribiste:entocnes despues de eliminar el indice 2 el contenido del 3 pasara al indice 2,, ¿?¿


Si usas el método de splice, así es.


Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Intermedio

¿Quién está conectado?

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

cron