-
Notifications
You must be signed in to change notification settings - Fork 0
API StrComp
Codex edited this page Sep 19, 2026
·
4 revisions
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Сравнивает две строки по ordinal-порядку UTF-16.
StrComp(left:String, right:String) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
left— Левая строка. -
right— Правая строка.
Integer: -1, если left меньше right; 0 при точном равенстве; 1, если left больше right. Регистр учитывается; это не Boolean и не языковая сортировка.
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
# Равные строки
#
# Сравнивает две строки по ordinal-порядку UTF-16.
#
# Integer: -1, если left меньше right; 0 при точном равенстве; 1, если left больше right.
# Регистр учитывается; это не Boolean и не языковая сортировка.
SUB Main()
# Оба аргумента совпадают.
# Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
VAR result = StrComp('ore', 'ore')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Оба аргумента совпадают.
- Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
# Меньшая строка
#
# Сравнивает две строки по ordinal-порядку UTF-16.
#
# Integer: -1, если left меньше right; 0 при точном равенстве; 1, если left больше right.
# Регистр учитывается; это не Boolean и не языковая сортировка.
SUB Main()
# Код a меньше кода b.
# Ожидаемый результат: -1. В result сохраняется результат выражения; Print только показывает
# его.
VAR result = StrComp('a', 'b')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Код a меньше кода b.
- Ожидаемый результат: -1. В result сохраняется результат выражения; Print только показывает его.
# Регистр важен
#
# Сравнивает две строки по ordinal-порядку UTF-16.
#
# Integer: -1, если left меньше right; 0 при точном равенстве; 1, если left больше right.
# Регистр учитывается; это не Boolean и не языковая сортировка.
SUB Main()
# Код маленькой a больше кода большой A.
# Ожидаемый результат: 1. В result сохраняется результат выражения; Print только показывает его.
VAR result = StrComp('a', 'A')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Код маленькой a больше кода большой A.
- Ожидаемый результат: 1. В result сохраняется результат выражения; Print только показывает его.
ClassicUO - Bad Newbie & Basic IDE Edition