AT (TSB)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
AT (TSB)
Format: AT(<string1>,<string2>)
Parameter
string1: beliebiger Zeichenkettenausdruck
string2: beliebiger Zeichenkettenausdruck
Einordnung
Typ: Anweisung
Kontext: Strings
Aufgabe: Vertauschen zweier Strings
Abkürzung: keine
Verwandte Befehle
keine


Dieser Artikel beschreibt das Schlüsselwort AT (TSB).
Das entsprechende Simons'-Basic-Schlüsselwort lautet ebenfalls AT.

Typ: Anweisung
Syntax: AT(<string1>,<string2>)

Mit diesem Befehl tauscht man zwei Strings miteinander aus, ohne dass dabei Stringmüll entsteht, der irgendwann zur Garbage Collection führt. AT arbeitet sehr schnell selbst bei langen und vielen Strings, da intern keinerlei Kopiertätigkeit bei den Stringinhalten anfällt. Es werden nur die String-Adressen vertauscht.

Beispiel ohne AT: 

10 a$="Samuel": b$="Beckett": c$=""
20 PRINT a$, b$
30 c$=a$: a$=b$: b$=c$: c$=""
40 PRINT a$, b$

Beipiel mit AT:

10 a$="Samuel": b$="Beckett"
20 PRINT a$, b$
30 AT(a$,b$)
40 PRINT a$, b$

(Ergebnis in beiden Fällen: "Samuel Beckett", "Beckett Samuel")

Beachten: Die sich öffnende Klammer hinter dem eigentlichen Schlüsselwort ist intern noch Teil des Schlüsselworts, so dass eine Auseinanderschreibung an dieser Stelle zu einem ?BAD SUBSCRIPT ERROR führt (der Interpreter vermutet dann die Verwendung einer Feld-Variablen namens AT).