FwSet
Set (conjunto sem duplicatas) TLPP. Indispensavel pra deduplicar listas e checar pertencimento rapido.
Assinatura: oSet := FwSet():New() // :Add(x), :Contains(x), :Remove(x), :Size()
Retorna: FwSet object
Set garante unicidade dos elementos e :Contains() em O(1). Substituto moderno do padrao If aScan(aArr, x) == 0 ; aAdd(aArr, x) ; EndIf.
#include "tlpp-core.th"
User Function Dedup()
Local oSet := FwSet():New()
For i := 1 To Len(aProdutos)
oSet:Add(aProdutos[i]) // duplicatas ignoradas
Next
ConOut("Produtos unicos: " + cValToChar(oSet:Size()))
If oSet:Contains("12345")
ConOut("Tem o codigo 12345")
EndIf
Return
Pegadinhas
- Ordem nao preservada — sets nao mantem ordem de insercao em geral.
- Comparacao por valor — strings case-sensitive.
- Pra ordem garantida use FwArrayOf + filtro manual.