Lijsten en maps delen en kopiëren
Twee namen kunnen naar dezelfde lijst of map verwijzen. Denk aan twee etiketten op één doos. Een tweede etiket is een alias, geen tweede doos: via welke naam je een onderdeel ook verandert, je verandert dezelfde verzameling.
Een diepe kopie zou een aparte doos maken, met ook aparte kopieën van alle verzamelingen erin. Gewone toekenning en het doorgeven van een argument doen dat niet. herhaalLijst maakt wel onafhankelijke kopieën van geneste verzamelingen voor de herhaalde onderdelen. Zie waarden veranderen en delen.
# taal: nl
laat origineel = [1, 2]
laat alias = origineel
zet alias[0] = 9
zeg origineel[0] # 9
laat bord = herhaalLijst(3, herhaalLijst(4, 0))
zet bord[0][0] = 7
zeg bord[1][0] # 0
Toekenning en functieargumenten kopiëren de waarde; een lijst- of mapwaarde
verwijst daarbij naar gedeelde opslag. herhaalLijst maakt juist onafhankelijke
kopieën van geneste verzamelingen voor de herhaalde elementen.
Gerelateerde lemma’s
Syntaxis en waarden · Ingebouwde functies · Programmeergidsen
