Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
New collection
|
New collection {( valor {; valor2 ; ... ; valorN} )} -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
valor | Número, Texto, Data, Objeto, Collection, Ponteiro |
![]() |
Valores da Coleção | |||||
Resultado | Collection |
![]() |
Nova coleção | |||||
O comando New collectioncria uma nova coleção vazia ou pré-preenchida e retorna sua referência.
Se não passar nenhum parâmetro, New collection cria uma coleção vazia e devolve sua referência.
Deve atribuir a referência retornada a uma variável 4D declarada com _O_C_COLLECTION.
Nota: lembre que _O_C_COLLECTION declara uma variável de tipo Coleção mas não cria nenhuma coleção.
Opcionalmente, pode pré-preencher esta nova coleção passando um ou vários parâmetros value.
Também é possível adiconar ou modificar elementos subsequentemente através da atribuição de notação de objeto. Por exemplo:
myCol[10]:="My new element"
Se o novo índice de elemento for além do último elemento existente da coleção, a coleção é automaticamente redimensionada e todos os novos elementos intermediários obtém o valor null.
Nota: Para mais informação sobre a notação de objeto, veja a seção Usar notação padrão objeto.
Pode passar qualquer número de valores de todo tipo admitido (número, texto, data, ponteiro, objeto, coleção ...). Diferente dos arrays, as coleções podem combinar dados de diferentes tipos.
Deve prestar atenção aos problemas de conversão abaixo:
Se quiser criar uma nova coleção vazia e a atribuir a uma variável coleção 4D:
C_COLLECTION($myCol)
$myCol:=New collection
//$myCol=[]
Se quiser criar uma coleção pré-preenchida:
C_COLLECTION($filledColl)
$filledColl:=New collection(33;"mike";"november";->myPtr;Current date)
//$filledColl=[33,"mike","november",->myPtr,2017-03-28T22:00:00.000Z]
Pode criar uma nova coleção e então adicionar um novo elemento:
C_COLLECTION($coll)
$coll:=New collection("a";"b";"c")
//$coll=["a","b","c"]
$coll[9]:="z" //adiciona um 10o elemento com valor "z"
$vcolSize:=$coll.length //10
//$coll=["a","b","c",null,null,null,null,null,null,"z"]
Nota: Este exemplo exige que a notação de objeto esteja ativada no banco de dados (ver Notação de objeto).
Produto: 4D
Tema: Coleções
Número
1472
Criado por: 4D v16 R4
Manual de linguagem 4D ( 4D v20 R7)