AT (TSB)
AT (TSB) | |
Syntax: | AT(<string1>,<string2>) |
Parameter | |
string1: beliebiger Zeichenkettenausdruck | |
string2: beliebiger Zeichenkettenausdruck | |
Einordnung | |
Typ: | Anweisung |
Kontext: | Strings |
Aufgabe: | Vertauschen zweier Strings |
Abkürzung: | aT |
Token: | $64 $28 (100 40) |
Verwandte Befehle | |
keine |
Dieser Artikel beschreibt das TSB-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).
Siehe auch: Funktion AT.
$$ | %% | AT | CALL | CENTER | CHECK | COLD | COLOR | COPY | CLS | CSET | D! | D!PEEK | D!POKE | DIR | DISK | DISPLAY | DIV | DO | DO NULL | DRAW TO | DUMP | DUP | ELSE | ERROR | EXEC | FETCH | FIND | GRAPHICS | INSERT | INST | JOY | KEY | KEYGET | LIN | MAP | MEMCLR | MEMCONT | MEMDEF | MEMLEN | MEMLOAD | MEMOR | MEMPEEK | MEMPOS | MEMREAD | MEMRESTORE | MEMSAVE | MERGE | MOB ON/OFF | MOBCOL | MOD | MOVE | MULTI | NRM | ON ERROR | ON KEY | OPTION | OUT | PAGE | PAINT | PAUSE | PLACE | RENUMBER | RESUME | RETRACE | SCRLD | SCRSV | SOUND | TEXT | TRACE | USE | WAVE | X!