Você está aqui: Perl ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como remover um ou mais elementos de um arrayQuantidade de visualizações: 8055 vezes |
Em algumas situações precisamos remover um ou mais elementos de um array em Perl. Para isso temos algumas funções bem úteis oferecidas pela linguagem. Se quisermos remover apenas o primeiro elemento do array, podemos usar a função shift(). Esta função remove e retorna o primeiro elemento do array. Além disso, o tamanho do array é reduzido em 1. Veja: # Trabalhando com arrays em Perl # declara e inicializa um array de inteiros @valores = (211, 5, 3, 8, 2); # vamos exibir os elementos do array for($i = 0; $i < scalar @valores; $i++){ print @valores[$i] . " "; } # vamos remover o primeiro elemento $removido = shift(@valores); Se a intenção é remover apenas o último elemento, podemos usar a função pop(), que remove e retorna o último elemento do array. Novamente o tamanho do array é reduzido em 1. Veja: # Trabalhando com arrays em Perl # declara e inicializa um array de inteiros @valores = (211, 5, 3, 8, 2); # vamos exibir os elementos do array for($i = 0; $i < scalar @valores; $i++){ print @valores[$i] . " "; } # vamos remover o último elemento $removido = pop(@valores); Vejamos agora como remover um elemento no meio do array: # Trabalhando com arrays em Perl # declara e inicializa um array de inteiros @valores = (211, 5, 3, 8, 2); # vamos exibir os elementos do array for($i = 0; $i < scalar @valores; $i++){ print @valores[$i] . " "; } # vamos remover o terceiro elemento (valor 3) $removido = splice(@valores, 2, 1); Note que aqui nós usamos a função splice() fornecendo o índice do primeiro elemento que queríamos remover e a quantidade de elementos a serem removidos (neste exemplo queríamos remover apenas um elemento). Assim, se quisermos remover mais de um elemento, bastará fornecermos um valor diferente de 1 para o segundo argumento de splice(). Veja: # Trabalhando com arrays em Perl # declara e inicializa um array de inteiros @valores = (211, 5, 3, 8, 2); # vamos exibir os elementos do array for($i = 0; $i < scalar @valores; $i++){ print @valores[$i] . " "; } # vamos remover três elementos (a partir do segundo) @removidos = splice(@valores, 1, 3); print "\nRemovi os elementos: "; Neste trecho de códigos nós removemos os elementos 5, 3 e 8 e os retornamos como um novo array. |
![]() |
Veja mais Dicas e truques de Perl |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |