API String - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
String
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Повторяет один символ заданное число раз.
Точный синтаксис
String(count:Integer, value:String) -> String
String(count:Integer, characterCode:Integer) -> String
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
count— Количество повторений; <=0 даёт пустую строку. Очень большие числа требуют много памяти.value / characterCode— Строковая форма берёт только первую единицу UTF-16 из value, пустая строка выбирает NUL. Числовая форма ограничивает characterCode диапазоном 0..65535; это один UTF-16 char, в отличие от Chr с полным Unicode-кодом.
Возвращает
String — count повторений одного char. Строка "abc" повторяет только "a", не весь текст. Для полного Unicode-символа вне BMP эта команда не является заменой Chr.
Поведение
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
Примеры
Пример 1. Разделительная линия
# Разделительная линия
#
# Повторяет один символ заданное число раз.
#
# String — count повторений одного char. Строка "abc" повторяет только "a", не весь текст. Для
# полного Unicode-символа вне BMP эта команда не является заменой Chr.
SUB Main()
# count=5, value="-".
# Ожидаемый результат: строка -----. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = String(5, '-')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- count=5, value="-".
- Ожидаемый результат: строка -----. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Числовой код символа
# Числовой код символа
#
# Повторяет один символ заданное число раз.
#
# String — count повторений одного char. Строка "abc" повторяет только "a", не весь текст. Для
# полного Unicode-символа вне BMP эта команда не является заменой Chr.
SUB Main()
# characterCode=65 означает A, count=3.
# Ожидаемый результат: строка AAA. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = String(3, 65)
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- characterCode=65 означает A, count=3.
- Ожидаемый результат: строка AAA. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Строка из нескольких символов
# Строка из нескольких символов
#
# Повторяет один символ заданное число раз.
#
# String — count повторений одного char. Строка "abc" повторяет только "a", не весь текст. Для
# полного Unicode-символа вне BMP эта команда не является заменой Chr.
SUB Main()
# Берётся только первая единица UTF-16 из value.
# Ожидаемый результат: строка aaa. В result сохраняется результат выражения; Print только
# показывает его.
VAR result = String(3, 'abc')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Берётся только первая единица UTF-16 из value.
- Ожидаемый результат: строка aaa. В result сохраняется результат выражения; Print только показывает его.