Aadição e/ou remoção de elementos de e para as colecções são tarefas de programação comuns que os criadores frequentemente encontram. 4D v16 R6 fornece mais de 40 métodos de colecção, incluindo métodos especificamente dedicados à adição e remoção de elementos de uma colecção. Com estes métodos, pode facilmente criar uma pilha (FIFO) ou fila (LIFO), adicionar novos elementos em qualquer posição, e muito mais…
Este artigo faz parte de uma série que demonstra como manipular colecções usando os métodos adicionados em 4D v16 R6. Para saber ainda mais, descarregue o nosso exemplo de base de dados, que inclui 12 exemplos diferentes para mostrar tudo o que pode fazer com os métodos de recolha!
Exemplo de base de dados: Gerir colecções
Gerir o primeiro e o último elementos
Adicionar um valor no início de uma colecção ou remover o primeiro elemento é fácil, graças ao shift e unshift métodos.
$col:=Novacolecção("a"; "b")
.
// Insira um novo valor no início de $col.
$col.unshift("c") // $col=["c", "a", "b"]
// Leia e remova o primeiro elemento de $col
$r:=$col.shift()
// $r="c"
// $col=["a", "b"]
Do mesmo modo, os push pode ser utilizado para adicionar um elemento no final de uma colecção e o método pop pode remover o último elemento.$col:=Novacolecção("a"; "b")
// Inserir um novo valor no final da colecção $col.
$col.push("c") // $col=["a", "b", "c"]
// Ler e remover o último elemento de $col
$r:=$col.pop()
// $r="c"
// $col=["a", "b"]
Inserir OU remover qualquer elemento
É claro que também é possível adicionar ou remover um elemento em qualquer parte da colecção com o insert e remove métodos:
$col:=Novacolecção("a"; "b")
// Inserir um novo valor numa posição específica em $col
$col.insert(1; "c") // $col=["a", "c", "b"]
// Remover o segundo elemento de $col
$col.remove(1)
// $col=["a", "b"]
O clear método remove todos os elementos de uma colecção:
$col:=Novacolecção("a"; "b"; "c"; "d"; "e")
$col.clear() // $col=[]
Preencher ou redimensionar uma colecção
Pode substituir todos os valores de uma colecção, utilizando o fill método.
$col:=Novacolecção("a"; "b"; "c"; "d"; "e")
// Redefinir todos os valores de $col para ""
$col.fill(""") // $col=["",""",""","","]
E pode redimensionar uma colecção com o resize método:
$col:=Novacolecção("a"; "b")
$col.resize(5;""") // $col=[a,b,"","",","]