API UO GetArrayLength - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
UO.GetArrayLength
Оглавление · Алфавитный указатель · Files / JSON / Data
ClassicUO • Runtime API
Читает длину внешнего уровня массива.
Точный синтаксис
UO.GetArrayLength(arg:Any) -> Any
Выберите одну из зарегистрированных форм. Параметры передаются позиционно. Any означает значение BASIC с преобразованием внутри команды; Unit — отсутствие возвращаемого значения.
Параметры
arg— Значение Array. Строка, число, Object или Unit не являются массивом и дают 0.
Возвращает
Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0. Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус 1 только при непустом результате.
Поведение
- Индексы массива идут от 0 до длины-1. DIM items(2) задаёт верхний индекс 2 включительно и создаёт три элемента. Проверяйте длину перед обращением по индексу.
- Команда не изменяет массив, не обходит вложенные массивы и не считает символы строки.
Примеры
Пример 1. Размер созданного массива
# Размер созданного массива
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# DIM items(2) создаёт три элемента с индексами 0,1,2; число в скобках — верхний индекс.
# Результат равен 3; это не максимальный индекс.
DIM items(2)
UO.Print(STR(UO.GetArrayLength(items)))
END SUB
Разбор параметров и выполнения:
- DIM items(2) создаёт три элемента с индексами 0,1,2; число в скобках — верхний индекс.
- Результат равен 3; это не максимальный индекс.
Пример 2. Проверить путь перед чтением первой точки
# Проверить путь перед чтением первой точки
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# path — массив записей пути; команда читает внешний размер.
# Проверка выполняется до path[0]. first[0] — мировая координата X исходной записи.
VAR path = UO.GetPathArray(UO.GetX() + 2, UO.GetY(), TRUE, 0)
IF UO.GetArrayLength(path) > 0 THEN
VAR first = path[0]
UO.Print(STR(first[0]))
END IF
END SUB
Разбор параметров и выполнения:
- path — массив записей пути; команда читает внешний размер.
- Проверка выполняется до path[0]. first[0] — мировая координата X исходной записи.
Пример 3. Строка не является массивом
# Строка не является массивом
#
# Читает длину внешнего уровня массива.
#
# Integer — число элементов внешнего массива. Пустой массив и значение другого вида дают 0.
# Вложенные элементы не суммируются. Для пути с начальной записью число шагов равно длине минус
# 1 только при непустом результате.
SUB Main()
# text имеет вид String.
# Возвращается 0. Для длины текста нужна Len(text), которая здесь дала бы 3.
VAR text = 'abc'
UO.Print(STR(UO.GetArrayLength(text)))
END SUB
Разбор параметров и выполнения:
- text имеет вид String.
- Возвращается 0. Для длины текста нужна Len(text), которая здесь дала бы 3.