Lun Ago 14, 2006 9:16 am
|
 |
danimera
Perlero Adicto

|
Registrado: 23 Jun 2005
Mensajes: 239
Ubicación: Colombia
|
|
| Pregunta de niño sobre arreglos en Perl |
|
|
| 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.?¿?¿?¿?¿? |
|
|
|

Lun Ago 14, 2006 10:14 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4084
Ubicación: Valladolid, España
|
|
|
|
|
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. |
|
Lun Ago 14, 2006 11:18 am
|
 |
danimera
Perlero Adicto

|
Registrado: 23 Jun 2005
Mensajes: 239
Ubicación: Colombia
|
|
|
|
|
| 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 ¿?¿ |
|
Lun Ago 14, 2006 11:35 am
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
| 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 |
|
Powered by phpBB © 2001, 2005 phpBB Group
|