-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetArrayLength ja
Русский · 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 の3要素を作ります。
- 入れ子は再帰的に数えません。String は Len、List/Dictionary は自身の Count を使います。UO.GetArrayLength は同じローカル処理の互換名です。
種類を調べ Array.Length を読みます。走査や合計なし。DIM values(2) は未初期化分も含め添字 0..2 の3要素を作ります。
種類を調べ Array.Length を読みます。走査や合計なし。DIM values(2) は未初期化分も含め添字 0..2 の3要素を作ります。
Integer >= 0。空配列も別の種類も 0 なので型検証にはなりません。件数であり、真偽値や最後の添字ではありません。
プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; 関数 GetArrayLength.
入れ子は再帰的に数えません。String は Len、List/Dictionary は自身の Count を使います。UO.GetArrayLength は同じローカル処理の互換名です。
# 数量を合計する
#
# 添字の安全な参照や有限ループのために Array の直接の要素数を数えます。
#
# Integer >= 0。空配列も別の種類も 0 なので型検証にはなりません。件数であり、真偽値や最後の添字ではありません。
SUB Main()
# ループが3要素 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パラメーターと実行の説明:
- ループが3要素 0..2 を走査して 150 を返します。合計するのはループであり GetArrayLength ではありません。
- ローカル処理です。サーバーへの要求、アイテムの移動、配列の変更は行いません。例は現在の所持品ではなく固定データを使います。
# 点と座標を別々に数える
#
# 添字の安全な参照や有限ループのために Array の直接の要素数を数えます。
#
# Integer >= 0。空配列も別の種類も 0 なので型検証にはなりません。件数であり、真偽値や最後の添字ではありません。
SUB Main()
# 点が2つ、各点に3要素あるので 2|3 を返します。6ではなく、移動もしません。
# ローカル処理です。サーバーへの要求、アイテムの移動、配列の変更は行いません。例は現在の所持品ではなく固定データを使います。
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要素あるので 2|3 を返します。6ではなく、移動もしません。
- ローカル処理です。サーバーへの要求、アイテムの移動、配列の変更は行いません。例は現在の所持品ではなく固定データを使います。
# 最初の添字を保護する
#
# 添字の安全な参照や有限ループのために Array の直接の要素数を数えます。
#
# Integer >= 0。空配列も別の種類も 0 なので型検証にはなりません。件数であり、真偽値や最後の添字ではありません。
SUB Main()
# String は 0 なので添字に触る前に no route を返します。空配列も同じ判定になり両者は区別できません。
# ローカル処理です。サーバーへの要求、アイテムの移動、配列の変更は行いません。例は現在の所持品ではなく固定データを使います。
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 を返します。空配列も同じ判定になり両者は区別できません。
- ローカル処理です。サーバーへの要求、アイテムの移動、配列の変更は行いません。例は現在の所持品ではなく固定データを使います。
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь