Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Pregunta de niño sobre arreglos en Perl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Lun Ago 14, 2006 9:16 am
danimera
Perlero Adicto
Perlero Adicto
Registrado: 23 Jun 2005
Mensajes: 239
Ubicación: Colombia
Pregunta de niño sobre arreglos en Perl Responder citando

Código:
$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:
@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.?¿?¿?¿?¿?
Mensaje Lun Ago 14, 2006 10:14 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
Responder citando

Pues si quieres borrar un elemento, usa splice:
Código:
@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.
Mensaje Lun Ago 14, 2006 11:18 am
danimera
Perlero Adicto
Perlero Adicto
Registrado: 23 Jun 2005
Mensajes: 239
Ubicación: Colombia
Responder citando

Código:
@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 ¿?¿
Mensaje Lun Ago 14, 2006 11:35 am
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

danimera escribió:
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
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group