-
Notifications
You must be signed in to change notification settings - Fork 0
API UO GetArrayLength de
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Zählt direkte Array-Plätze für begrenzte Schleifen und sichere Indexzugriffe.
UO.GetArrayLength(arg:Any) -> Any
-
arg— Beliebiger BASIC-Wert. Array liefert die äußere Length; String, Zahl, Object und Unit liefern 0.
Integer >= 0. Leeres Array und andere Wertarten ergeben beide 0; kein Typnachweis. Anzahl statt Boolean oder letztem Index.
- Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele verwenden feste Beispieldaten, kein aktuelles Inventar.
- Prüft die Wertart und liest Array.Length ohne Durchlauf oder Summe. DIM values(2) erzeugt drei Plätze 0..2 einschließlich unbelegter.
- Keine rekursive Zählung. Für String Len verwenden, für List/Dictionary deren Count. UO.GetArrayLength ist der kompatible Name derselben lokalen Abfrage.
Prüft die Wertart und liest Array.Length ohne Durchlauf oder Summe. DIM values(2) erzeugt drei Plätze 0..2 einschließlich unbelegter.
Prüft die Wertart und liest Array.Length ohne Durchlauf oder Summe. DIM values(2) erzeugt drei Plätze 0..2 einschließlich unbelegter.
Integer >= 0. Leeres Array und andere Wertarten ergeben beide 0; kein Typnachweis. Anzahl statt Boolean oder letztem Index.
Projektquelle: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; Funktion GetArrayLength.
Keine rekursive Zählung. Für String Len verwenden, für List/Dictionary deren Count. UO.GetArrayLength ist der kompatible Name derselben lokalen Abfrage.
# Mengen addieren
#
# Zählt direkte Array-Plätze für begrenzte Schleifen und sichere Indexzugriffe.
#
# Integer >= 0. Leeres Array und andere Wertarten ergeben beide 0; kein Typnachweis. Anzahl
# statt Boolean oder letztem Index.
SUB Main()
# Drei Einträge werden über 0..2 besucht; die Schleife liefert 150. GetArrayLength selbst
# summiert keine Mengen.
# Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele
# verwenden feste Beispieldaten, kein aktuelles Inventar.
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 SUBErläuterung der Parameter und Ausführung:
- Drei Einträge werden über 0..2 besucht; die Schleife liefert 150. GetArrayLength selbst summiert keine Mengen.
- Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele verwenden feste Beispieldaten, kein aktuelles Inventar.
# Punkte und Koordinaten getrennt zählen
#
# Zählt direkte Array-Plätze für begrenzte Schleifen und sichere Indexzugriffe.
#
# Integer >= 0. Leeres Array und andere Wertarten ergeben beide 0; kein Typnachweis. Anzahl
# statt Boolean oder letztem Index.
SUB Main()
# Zwei Punkte mit jeweils drei Feldern: Ergebnis 2|3 statt sechs. Keine Bewegung des Charakters.
# Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele
# verwenden feste Beispieldaten, kein aktuelles Inventar.
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 SUBErläuterung der Parameter und Ausführung:
- Zwei Punkte mit jeweils drei Feldern: Ergebnis 2|3 statt sechs. Keine Bewegung des Charakters.
- Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele verwenden feste Beispieldaten, kein aktuelles Inventar.
# Ersten Index absichern
#
# Zählt direkte Array-Plätze für begrenzte Schleifen und sichere Indexzugriffe.
#
# Integer >= 0. Leeres Array und andere Wertarten ergeben beide 0; kein Typnachweis. Anzahl
# statt Boolean oder letztem Index.
SUB Main()
# String liefert 0: no route wird vor dem Indexzugriff zurückgegeben. Derselbe Schutz gilt für
# ein leeres Array, unterscheidet beide Fälle jedoch nicht.
# Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele
# verwenden feste Beispieldaten, kein aktuelles Inventar.
Dim route = "not an array"
If UO.GetArrayLength(route) = 0 Then
Return "no route"
End If
Return route[0]
END SUBErläuterung der Parameter und Ausführung:
- String liefert 0: no route wird vor dem Indexzugriff zurückgegeben. Derselbe Schutz gilt für ein leeres Array, unterscheidet beide Fälle jedoch nicht.
- Lokale Abfrage ohne Serverzugriff, Gegenstandsbewegung oder Änderung des Arrays. Die Beispiele verwenden feste Beispieldaten, kein aktuelles Inventar.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь