API left - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki

left

Оглавление · Алфавитный указатель · BASIC built-ins

ClassicUO • Runtime API

Возвращает часть строки с начала.

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

left(str:String, length:Integer) -> String

Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.

Параметры

  • str — Исходный текст.
  • length — Число единиц UTF-16. Отрицательное значение заменяется на 0; слишком большое ограничивается длиной строки.

Возвращает

String — выбранная часть. При length<=0 возвращается пустая строка; при length>=Len(str) возвращается исходный текст целиком.

Поведение

  • Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
  • Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.

Примеры

Пример 1. Выделить три символа

# Выделить три символа
#
# Возвращает часть строки с начала.
#
# String — выбранная часть. При length<=0 возвращается пустая строка; при length>=Len(str)
# возвращается исходный текст целиком.

SUB Main()
    # str="abcdef", length=3; чтение идёт с начала.
    # Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только
    # показывает его.

    VAR result = left('abcdef', 3)
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • str="abcdef", length=3; чтение идёт с начала.
  • Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только показывает его.

Пример 2. Длина больше текста

# Длина больше текста
#
# Возвращает часть строки с начала.
#
# String — выбранная часть. При length<=0 возвращается пустая строка; при length>=Len(str)
# возвращается исходный текст целиком.

SUB Main()
    # length=100 ограничивается тремя доступными символами.
    # Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только
    # показывает его.

    VAR result = left('abc', 100)
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • length=100 ограничивается тремя доступными символами.
  • Ожидаемый результат: строка abc. В result сохраняется результат выражения; Print только показывает его.

Пример 3. Нулевое количество

# Нулевое количество
#
# Возвращает часть строки с начала.
#
# String — выбранная часть. При length<=0 возвращается пустая строка; при length>=Len(str)
# возвращается исходный текст целиком.

SUB Main()
    # Ноль означает пустую часть, не всю строку.
    # Ожидаемый результат: пустая строка. В result сохраняется результат выражения; Print только
    # показывает его.

    VAR result = left('abc', 0)
    UO.Print(CStr(result))
END SUB

Разбор параметров и выполнения:

  • Ноль означает пустую часть, не всю строку.
  • Ожидаемый результат: пустая строка. В result сохраняется результат выражения; Print только показывает его.