API len - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
len
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Возвращает длину строки или текстового представления числа.
Точный синтаксис
len(value:String) -> Integer
len(value:Integer) -> Integer
len(value:Decimal) -> Integer
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
value— String, Integer или Decimal. Для числа сначала используется форматирование с точкой, без учёта языка Windows.
Возвращает
Integer — число единиц UTF-16. У чисел учитываются знак и десятичный разделитель. Пустая строка даёт 0. Для размера массива используйте GetArrayLength, а не Len.
Поведение
- Выполняется локально и не обращается к игровому серверу. Исходная строка не изменяется: результат нужно сохранить или передать дальше.
- Позиции и длины строк считаются в единицах UTF-16. Символ за пределами BMP, например emoji, занимает две единицы. Это не количество байтов UTF-8.
Примеры
Пример 1. Обычная строка
# Обычная строка
#
# Возвращает длину строки или текстового представления числа.
#
# Integer — число единиц UTF-16. У чисел учитываются знак и десятичный разделитель. Пустая
# строка даёт 0. Для размера массива используйте GetArrayLength, а не Len.
SUB Main()
# Пять латинских букв занимают пять единиц UTF-16.
# Ожидаемый результат: 5. В result сохраняется результат выражения; Print только показывает его.
VAR result = Len('hello')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Пять латинских букв занимают пять единиц UTF-16.
- Ожидаемый результат: 5. В result сохраняется результат выражения; Print только показывает его.
Пример 2. Знаковое число
# Знаковое число
#
# Возвращает длину строки или текстового представления числа.
#
# Integer — число единиц UTF-16. У чисел учитываются знак и десятичный разделитель. Пустая
# строка даёт 0. Для размера массива используйте GetArrayLength, а не Len.
SUB Main()
# Текст -125 содержит знак и три цифры.
# Ожидаемый результат: 4. В result сохраняется результат выражения; Print только показывает его.
VAR result = Len(-125)
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- Текст -125 содержит знак и три цифры.
- Ожидаемый результат: 4. В result сохраняется результат выражения; Print только показывает его.
Пример 3. Пустой текст
# Пустой текст
#
# Возвращает длину строки или текстового представления числа.
#
# Integer — число единиц UTF-16. У чисел учитываются знак и десятичный разделитель. Пустая
# строка даёт 0. Для размера массива используйте GetArrayLength, а не Len.
SUB Main()
# У пустой строки нет символов.
# Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.
VAR result = Len('')
UO.Print(CStr(result))
END SUB
Разбор параметров и выполнения:
- У пустой строки нет символов.
- Ожидаемый результат: 0. В result сохраняется результат выражения; Print только показывает его.