-
Notifications
You must be signed in to change notification settings - Fork 0
API ASC
Codex edited this page Sep 19, 2026
·
4 revisions
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Читает код первого символа либо разбирает целое число; смысл зависит от количества аргументов.
ASC(value:String) -> Integer
ASC(text:String, defaultValue:Integer) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
value / text— Исходная строка. В ASC(value) читается первая единица UTF-16; в ASC(text,defaultValue) вся строка разбирается как знаковое целое decimal или 0xHEX. -
defaultValue— Обязателен только у формы из двух аргументов. Целое, возвращаемое, если текст не удалось разобрать; не код символа по умолчанию.
Integer: ASC(text) возвращает код 0..65535 первого символа либо 0 для пустой строки. ASC(text,defaultValue) возвращает разобранное Int32 либо defaultValue при неверном тексте/переполнении. Это две разные операции.
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
# Код латинской буквы
#
# Читает код первого символа либо разбирает целое число; смысл зависит от количества аргументов.
#
# Integer: ASC(text) возвращает код 0..65535 первого символа либо 0 для пустой строки.
# ASC(text,defaultValue) возвращает разобранное Int32 либо defaultValue при неверном
# тексте/переполнении. Это две разные операции.
SUB Main()
# Один аргумент: берётся код первого символа A.
# Ожидаемый результат: 65. В result сохраняется результат выражения; Print только показывает
# его.
VAR result = ASC('A')
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Один аргумент: берётся код первого символа A.
- Ожидаемый результат: 65. В result сохраняется результат выражения; Print только показывает его.
# Число из hex-текста
#
# Читает код первого символа либо разбирает целое число; смысл зависит от количества аргументов.
#
# Integer: ASC(text) возвращает код 0..65535 первого символа либо 0 для пустой строки.
# ASC(text,defaultValue) возвращает разобранное Int32 либо defaultValue при неверном
# тексте/переполнении. Это две разные операции.
SUB Main()
# Два аргумента: строка 0XFF разбирается как число, -1 — резервное значение.
# Ожидаемый результат: 255. В result сохраняется результат выражения; Print только показывает
# его.
VAR result = ASC('0XFF', -1)
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Два аргумента: строка 0XFF разбирается как число, -1 — резервное значение.
- Ожидаемый результат: 255. В result сохраняется результат выражения; Print только показывает его.
# Проверить ошибочный ввод
#
# Читает код первого символа либо разбирает целое число; смысл зависит от количества аргументов.
#
# Integer: ASC(text) возвращает код 0..65535 первого символа либо 0 для пустой строки.
# ASC(text,defaultValue) возвращает разобранное Int32 либо defaultValue при неверном
# тексте/переполнении. Это две разные операции.
SUB Main()
# Разбор целого не удался, поэтому возвращается второй аргумент.
# Ожидаемый результат: -1. В result сохраняется результат выражения; Print только показывает
# его.
VAR result = ASC('not a number', -1)
UO.Print(CStr(result))
END SUBРазбор параметров и выполнения:
- Разбор целого не удался, поэтому возвращается второй аргумент.
- Ожидаемый результат: -1. В result сохраняется результат выражения; Print только показывает его.
ClassicUO - Bad Newbie & Basic IDE Edition