Anders Franzén
<5258>
· Text 1202 · w8 · kommentar
1985-12-22 14:19
Ärende: String¤
När du skriver "; STRING¤(x,y)" placeras den skapade
strängen på stacken. Då måste det ju naturligtvis
finnas tillräckligt med utrymme på stacken. Notera
att SPACE¤ fungerar på samma sätt. Att göra en loop
som gör CALL 11 för varje tecken i strängen vore
dumt, vem säger att vi nödvändigtvis ska skriva ut
strängen? Tänk om vi vill göra "A¤='x'+SPACE¤(100)"!
Genom att lägga den skapade strängen på stacken i
samma format som övriga strängar kan den behandlas
som en vanlig sträng också.
Här kommer ett tips i samband med detta:
Skriv ej så här: 10 ; A¤+space¤(x)+b¤+string¤(x,y)
Skriv så här istället: 10 ; a¤ space¤(x) b¤ string¤(x,y)
Använd alltså inte "+" i printsatser! Summan av allt
läggs på stacken och man kan råka ut för ERR 3 om
programmet är stort!