Ik heb een lijst met daarin of lijsten of objecten. Van deze hele structuur wil een een kopie maken. In deze kopie wil ik daarna dingen veranderen.
Het punt is dat als ik
doe alleen de pointers gekopiert worden. Dit is niet wat ik wil, want de lagere nivo's worden zo niet gekopiert.
Daarom heb ik een function CloneList gemaakt. Deze loopt alle items in een
lijst af om ze te kopieren. Als oudelijst[i] een lijst is moet hij dus
recursief clonelist aanroepen.
Maar dat is mijn probleem. Hoe weet ik of oudelijst[i] van het type tlist is?
volgens mij zou dat met de 'is' operator moeten kunnen maar als ik
doe krijg ik een compiler error. (Operator not applicable to this operand type)
Hoe moet het wel?
Het punt is dat als ik
code:
1
| nieuwelijst := oudelijst; |
doe alleen de pointers gekopiert worden. Dit is niet wat ik wil, want de lagere nivo's worden zo niet gekopiert.
Daarom heb ik een function CloneList gemaakt. Deze loopt alle items in een
lijst af om ze te kopieren. Als oudelijst[i] een lijst is moet hij dus
recursief clonelist aanroepen.
Maar dat is mijn probleem. Hoe weet ik of oudelijst[i] van het type tlist is?
volgens mij zou dat met de 'is' operator moeten kunnen maar als ik
code:
1
| if oudelijst[i] is Tlist then |
doe krijg ik een compiler error. (Operator not applicable to this operand type)
Hoe moet het wel?
Voor grote problemen hebben we de computer