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

String + / &

ClassicUO • Basic

Поєднуйте текст через + або сумісний запис Basic &. Числа явно перетворюйте через CStr перед додаванням підписів, кількості чи координат до повідомлення.

Точний синтаксис

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

Параметри

  • leftText — Лівий текст: літерал, змінна String або перетворений на текст результат функції.
  • rightText — Правий текст. CStr(number) перетворює число; CStr(Unit) дає порожній рядок. Пробіли, двокрапки та інші роздільники задавайте самі.

Повертає

String, якщо обидва операнди String. Прапорець успішності не повертається. У цьому рушії & перетворюється на + та успадковує його правила: два числа додаються чисельно, тому 2 & 3 дає Integer 5. Поєднання String/числа спричиняє помилку. Це відрізняється від неявного текстового перетворення VB.

Поведінка

  • Обидві сторони обчислюються й поєднуються за порядком. Ланцюжок іде зліва направо. Числовий розрахунок беріть у дужки та перетворюйте його результат перед поєднанням.
  • Роздільники, пробіли, лапки та нові рядки автоматично не додаються. & у рядковому літералі залишається амперсандом. Логічний токен && зберігає значення AND, а не поєднання тексту.
  • CStr форматує числа незалежно від мови клієнта, з крапкою у дробах. Перетворення й поєднання нічого не друкують і не надсилають; за потреби передайте отриману String наступному API.
  • Рядки незмінні: поєднання створює нове значення, не змінюючи початкових змінних. Постійне нарощування великого рядка копіює його вміст; формуйте потрібний вивід, а не весь звіт заново на кожній ітерації.

Приклади

1. Додати кількість до підпису

# amount=50 має вид Integer. CStr(amount) дає "50". Літерал "Items: " містить двокрапку й кінцевий пробіл. Main повертає "Items: 50" без автоматичного друку.
Option Explicit On
SUB Main()
    VAR amount = 50
    RETURN "Items: " & CStr(amount)
END SUB

Пояснення параметрів і виконання:

amount=50 має вид Integer. CStr(amount) дає "50". Літерал "Items: " містить двокрапку й кінцевий пробіл. Main повертає "Items: 50" без автоматичного друку.

2. Повна функція форматування

# Label отримує name="ore", amount=3. Поєднує ім’я, явно задану двокрапку та CStr(amount). Повністю наведена функція повертає Main рядок "ore:3"; її можна викликати з іншими іменами й кількостями.
Option Explicit On
FUNCTION Label(name, amount)
    RETURN name + ":" + CStr(amount)
END FUNCTION
SUB Main()
    RETURN Label("ore", 3)
END SUB

Пояснення параметрів і виконання:

Label отримує name="ore", amount=3. Поєднує ім’я, явно задану двокрапку та CStr(amount). Повністю наведена функція повертає Main рядок "ore:3"; її можна викликати з іншими іменами й кількостями.

3. Спершу обчислити, потім поєднати

# CStr(2+3) спочатку обчислює 5, потім перетворює на "5". Другий літерал містить крапку з комою, пробіли та A&B — ці символи зберігаються. Main повертає "Total: 5; literal: A&B".
Option Explicit On
SUB Main()
    RETURN "Total: " & CStr(2 + 3) & "; literal: A&B"
END SUB

Пояснення параметрів і виконання:

CStr(2+3) спочатку обчислює 5, потім перетворює на "5". Другий літерал містить крапку з комою, пробіли та A&B — ці символи зберігаються. Main повертає "Total: 5; literal: A&B".


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

Basic