-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetArrayLength zh tw
Codex edited this page Oct 4, 2026
·
1 revision
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
計算 Array 的直接欄位數,以便有限迴圈與安全索引存取。
UO.GetArrayLength(arg:Any) -> Any
-
arg— 任何 BASIC 值。Array 回傳外層 Length;String、數字、Object、Unit 回傳 0。
Integer >= 0。空陣列與其他種類都回傳 0,因此不能單靠結果驗證型別。這是數量,不是布林值或最後索引。
- 這是本機查詢,不會向伺服器發送要求、移動物品或修改陣列。範例使用固定資料,並非即時背包。
- 檢查種類並讀取 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。空陣列與其他種類都回傳 0,因此不能單靠結果驗證型別。這是數量,不是布林值或最後索引。
專案原始碼: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; 函式 GetArrayLength.
不遞迴計算巢狀元素。String 使用 Len;List/Dictionary 使用自己的 Count。UO.GetArrayLength 是同一本機查詢的相容名稱。
# 加總數量
#
# 計算 Array 的直接欄位數,以便有限迴圈與安全索引存取。
#
# Integer >= 0。空陣列與其他種類都回傳 0,因此不能單靠結果驗證型別。這是數量,不是布林值或最後索引。
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 UO.GetArrayLength(amounts) - 1
total += amounts[index]
Next
Return total
END SUB參數與執行說明:
- 迴圈走訪三筆 0..2,回傳 150。加總由迴圈執行,並非 GetArrayLength。
- 這是本機查詢,不會向伺服器發送要求、移動物品或修改陣列。範例使用固定資料,並非即時背包。
# 分開計算路徑點與座標
#
# 計算 Array 的直接欄位數,以便有限迴圈與安全索引存取。
#
# Integer >= 0。空陣列與其他種類都回傳 0,因此不能單靠結果驗證型別。這是數量,不是布林值或最後索引。
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(UO.GetArrayLength(route)) & "|" & CStr(UO.GetArrayLength(route[0]))
END SUB參數與執行說明:
- 兩個點各有三欄,所以結果為 2|3,不是六。不會移動角色。
- 這是本機查詢,不會向伺服器發送要求、移動物品或修改陣列。範例使用固定資料,並非即時背包。
# 保護第一個索引
#
# 計算 Array 的直接欄位數,以便有限迴圈與安全索引存取。
#
# Integer >= 0。空陣列與其他種類都回傳 0,因此不能單靠結果驗證型別。這是數量,不是布林值或最後索引。
SUB Main()
# String 回傳 0,因此在索引存取前回傳 no route。空 Array 也受此保護,但無法區分兩者。
# 這是本機查詢,不會向伺服器發送要求、移動物品或修改陣列。範例使用固定資料,並非即時背包。
Dim route = "not an array"
If UO.GetArrayLength(route) = 0 Then
Return "no route"
End If
Return route[0]
END SUB參數與執行說明:
- String 回傳 0,因此在索引存取前回傳 no route。空 Array 也受此保護,但無法區分兩者。
- 這是本機查詢,不會向伺服器發送要求、移動物品或修改陣列。範例使用固定資料,並非即時背包。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь