-
Notifications
You must be signed in to change notification settings - Fork 0
API GetArrayLength uk
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Рахує безпосередні комірки Array для безпечного перебору та індексування.
GetArrayLength(arg:Any) -> Any
-
arg— Будь-яке значення BASIC. Array дає зовнішній Length; String, число, Object і Unit дають 0.
Integer >= 0. Порожній Array та інший тип дають 0, тому це не перевірка типу. Кількість, не Boolean і не останній індекс.
- Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади використовують задані дані, не поточний інвентар.
- Перевіряє вид і читає Array.Length без обходу. DIM values(2) створює три комірки 0..2, включно з незаповненими.
- Вкладені елементи не підсумовуються. Для String є Len; для List/Dictionary — їх Count. UO.GetArrayLength — сумісне ім’я тієї самої локальної перевірки.
Перевіряє вид і читає Array.Length без обходу. DIM values(2) створює три комірки 0..2, включно з незаповненими.
Перевіряє вид і читає Array.Length без обходу. DIM values(2) створює три комірки 0..2, включно з незаповненими.
Integer >= 0. Порожній Array та інший тип дають 0, тому це не перевірка типу. Кількість, не Boolean і не останній індекс.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; функція GetArrayLength.
Вкладені елементи не підсумовуються. Для String є Len; для List/Dictionary — їх Count. UO.GetArrayLength — сумісне ім’я тієї самої локальної перевірки.
# Підсумувати кількості
#
# Рахує безпосередні комірки Array для безпечного перебору та індексування.
#
# Integer >= 0. Порожній Array та інший тип дають 0, тому це не перевірка типу. Кількість, не
# Boolean і не останній індекс.
SUB Main()
# Три записи перебираються за індексами 0..2; цикл повертає 150. Суми не обчислює сама
# GetArrayLength.
# Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади
# використовують задані дані, не поточний інвентар.
Dim amounts(2)
amounts[0] = 50
amounts[1] = 75
amounts[2] = 25
Dim total = 0
For index = 0 To GetArrayLength(amounts) - 1
total += amounts[index]
Next
Return total
END SUBПояснення параметрів і виконання:
- Три записи перебираються за індексами 0..2; цикл повертає 150. Суми не обчислює сама GetArrayLength.
- Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади використовують задані дані, не поточний інвентар.
# Точки й координати
#
# Рахує безпосередні комірки Array для безпечного перебору та індексування.
#
# Integer >= 0. Порожній Array та інший тип дають 0, тому це не перевірка типу. Кількість, не
# Boolean і не останній індекс.
SUB Main()
# Дві точки по три поля: результат 2|3, не шість. Персонаж не рухається.
# Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади
# використовують задані дані, не поточний інвентар.
Dim first(2)
first[0] = 100
first[1] = 200
first[2] = 0
Dim second(2)
second[0] = 101
second[1] = 200
second[2] = 0
Dim route(1)
route[0] = first
route[1] = second
Return CStr(GetArrayLength(route)) & "|" & CStr(GetArrayLength(route[0]))
END SUBПояснення параметрів і виконання:
- Дві точки по три поля: результат 2|3, не шість. Персонаж не рухається.
- Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади використовують задані дані, не поточний інвентар.
# Захист першого індексу
#
# Рахує безпосередні комірки Array для безпечного перебору та індексування.
#
# Integer >= 0. Порожній Array та інший тип дають 0, тому це не перевірка типу. Кількість, не
# Boolean і не останній індекс.
SUB Main()
# String дає 0: результат no route до читання індексу. Так само перевіряється порожній Array,
# але випадки не розрізняються.
# Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади
# використовують задані дані, не поточний інвентар.
Dim route = "not an array"
If GetArrayLength(route) = 0 Then
Return "no route"
End If
Return route[0]
END SUBПояснення параметрів і виконання:
- String дає 0: результат no route до читання індексу. Так само перевіряється порожній Array, але випадки не розрізняються.
- Локальна перевірка без запитів до сервера, переміщення предметів або зміни масиву. Приклади використовують задані дані, не поточний інвентар.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь