4D v18

collection.copy( )

Página Inicial

 
4D v18
collection.copy( )

collection.copy( )  


 

A função collection.copy( ) devolve uma cópia completa (deep copy) da instância de recompilação. Cópia completa significa que os objetos ou coleções dentro da coleção original estão duplicados e não compartem nenhuma referência com a coleção devolvida.

Notas:

  • Esta função não modifica a coleção original.
  • Se for aplicado a uma coleção compartida, copy( ) devolve uma coleção regular (não compartida).
Se a coleção original contiver valores de tipo de ponteiro, de maneira pré-determinada, a cópia também contém os ponteiros. Entretanto, pode resolver ponteiros ao copiar passando True no parâmetro resolvPtrs. Nesse caso, cada ponteiro presente na coleção se avalia ao copiar e se utiliza seu valor desreferenciado.

Exemplo  

 C_COLLECTION($col)
 C_POINTER($p)
 $p:=->$what
 
 $col:=New collection
 $col.push(New object("alpha";"Hello";"num";1))
 $col.push(New object("beta";"You";"what";$p))
 
 $col2:=$col.copy()
 $col2[1].beta:="World!"
 ALERT($col[0].alpha+" "+$col2[1].beta) //exibe a mensagem "Hello World!"
 
 $what:="You!"
 $col3:=$col2.copy(ck resolve pointers)
 ALERT($col3[0].alpha+" "+$col3[1].what) //exibe "Hello You!"



Ver também 

OB Copy

 
PROPRIEDADES 

Produto: 4D
Tema: Coleções

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v18)