API Basic Concatenation de - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

String + / &

ClassicUO • Basic

Text mit + oder der kompatiblen Basic-Schreibweise & verbinden. Zahlen ausdrücklich mit CStr umwandeln, bevor Beschriftungen, Mengen oder Koordinaten daraus entstehen.

Genaue Syntax

leftText + rightText
leftText & rightText
"label" & CStr(number)

Parameter

  • leftText — Linker Text: Literal, String-Variable oder in Text umgewandeltes Funktionsergebnis.
  • rightText — Rechter Text. CStr(number) wandelt Zahlen um; CStr(Unit) ergibt leeren Text. Leerzeichen, Doppelpunkte und andere Trenner selbst angeben.

Rückgabewert

String, wenn beide Operanden String sind; kein Erfolgsflag. & wird hier zu + normalisiert und übernimmt dessen Regeln: zwei Zahlen werden addiert, also ergibt 2 & 3 Integer 5. String und Zahl zu mischen schlägt fehl. Das unterscheidet sich von impliziter VB-Textumwandlung.

Verhalten

  • Beide Seiten werden in Reihenfolge ausgewertet und verbunden. Ketten laufen von links nach rechts. Numerische Berechnungen einklammern und das Ergebnis vor dem Verbinden umwandeln.
  • Trenner, Leerzeichen, Anführungszeichen und Zeilenumbrüche werden nicht automatisch ergänzt. & im String-Literal bleibt ein kaufmännisches Und. Das logische Token && bleibt AND und verbindet keinen Text.
  • CStr formatiert Zahlen unabhängig von der Clientsprache mit Dezimalpunkt. Umwandlung und Verkettung drucken oder senden nichts; die entstandene String bei Bedarf anschließend einer API übergeben.
  • Strings sind unveränderlich: eine Verkettung erzeugt einen neuen Wert, ohne Quellvariablen zu ändern. Ständiges Vergrößern langer Strings kopiert ihren Inhalt; nur die benötigte Ausgabe erzeugen statt bei jedem Schleifendurchlauf einen ganzen Bericht neu aufzubauen.

Beispiele

1. Anzahl beschriften

# amount=50 ist Integer. CStr(amount) ergibt "50". "Items: " enthält Doppelpunkt und abschließendes Leerzeichen. Main gibt "Items: 50" ohne automatische Ausgabe zurück.
Option Explicit On
SUB Main()
    VAR amount = 50
    RETURN "Items: " & CStr(amount)
END SUB

Erläuterung der Parameter und Ausführung:

amount=50 ist Integer. CStr(amount) ergibt "50". "Items: " enthält Doppelpunkt und abschließendes Leerzeichen. Main gibt "Items: 50" ohne automatische Ausgabe zurück.

2. Vollständige Formatierfunktion

# Label erhält name="ore", amount=3. Sie verbindet Name, ausdrücklichen Doppelpunkt und CStr(amount). Die vollständige Funktion gibt "ore:3" an Main zurück und kann andere Namen und Mengen verarbeiten.
Option Explicit On
FUNCTION Label(name, amount)
    RETURN name + ":" + CStr(amount)
END FUNCTION
SUB Main()
    RETURN Label("ore", 3)
END SUB

Erläuterung der Parameter und Ausführung:

Label erhält name="ore", amount=3. Sie verbindet Name, ausdrücklichen Doppelpunkt und CStr(amount). Die vollständige Funktion gibt "ore:3" an Main zurück und kann andere Namen und Mengen verarbeiten.

3. Vorher rechnen

# CStr(2+3) berechnet zuerst 5 und wandelt es in "5" um. Das zweite Literal behält Semikolon, Leerzeichen und A&B. Main gibt "Total: 5; literal: A&B" zurück.
Option Explicit On
SUB Main()
    RETURN "Total: " & CStr(2 + 3) & "; literal: A&B"
END SUB

Erläuterung der Parameter und Ausführung:

CStr(2+3) berechnet zuerst 5 und wandelt es in "5" um. Das zweite Literal behält Semikolon, Leerzeichen und A&B. Main gibt "Total: 5; literal: A&B" zurück.


en · ru · uk · fr · de · it · es · zh-tw · ja · ko

Basic