-
Notifications
You must be signed in to change notification settings - Fork 0
API GetArrayLength
Codex edited this page Sep 19, 2026
·
5 revisions
Оглавление · Алфавитный указатель · BASIC built-ins
ClassicUO • Runtime API
Читает длину внешнего уровня массива.
GetArrayLength(arg:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
-
arg— Значение Array. Строка, число, Object или Unit не являются массивом и дают 0.
Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0. Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус 1 только при непустом результате.
- Индексы массива идут от 0 до длины-1. DIM items(2) задаёт верхний индекс 2 включительно и создаёт три элемента. Проверяйте длину перед обращением по индексу.
- Команда не изменяет массив, не обходит вложенные массивы и не считает символы строки.
# Размер созданного массива
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# DIM items(2) создаёт три элемента с индексами 0,1,2; число в скобках — верхний индекс.
# Результат равен 3; это не максимальный индекс.
DIM items(2)
UO.Print(STR(GetArrayLength(items)))
END SUBРазбор параметров и выполнения:
- DIM items(2) создаёт три элемента с индексами 0,1,2; число в скобках — верхний индекс.
- Результат равен 3; это не максимальный индекс.
# Проверить путь перед чтением первой точки
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# path — массив записей пути; команда читает внешний размер.
# Проверка выполняется до path[0]. first[0] — мировая координата X исходной записи.
VAR path = UO.GetPathArray(UO.GetX() + 2, UO.GetY(), TRUE, 0)
IF GetArrayLength(path) > 0 THEN
VAR first = path[0]
UO.Print(STR(first[0]))
END IF
END SUBРазбор параметров и выполнения:
- path — массив записей пути; команда читает внешний размер.
- Проверка выполняется до path[0]. first[0] — мировая координата X исходной записи.
# Строка не является массивом
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# text имеет вид String.
# Возвращается 0. Для длины текста нужна Len(text), которая здесь дала бы 3.
VAR text = 'abc'
UO.Print(STR(GetArrayLength(text)))
END SUBРазбор параметров и выполнения:
- text имеет вид String.
- Возвращается 0. Для длины текста нужна Len(text), которая здесь дала бы 3.
ClassicUO - Bad Newbie & Basic IDE Edition