-
Notifications
You must be signed in to change notification settings - Fork 0
API GetArrayLength ko
Русский · 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. 빈 배열과 다른 종류 모두 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. 빈 배열과 다른 종류 모두 0이므로 타입 검증은 아닙니다. 개수이지 Boolean이나 마지막 인덱스가 아닙니다.
프로젝트 소스: external/InjectionScript/src/InjectionScript/Runtime/InternalSubrutines.cs; 함수 GetArrayLength.
중첩 요소를 재귀적으로 세지 않습니다. String은 Len, List/Dictionary는 자체 Count입니다. UO.GetArrayLength는 같은 로컬 조회의 호환 이름입니다.
# 수량 합산
#
# 안전한 인덱스 접근과 유한 반복을 위해 Array의 직접 칸 수를 셉니다.
#
# Integer >= 0. 빈 배열과 다른 종류 모두 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. 빈 배열과 다른 종류 모두 0이므로 타입 검증은 아닙니다. 개수이지 Boolean이나 마지막 인덱스가 아닙니다.
SUB Main()
# 두 지점에 각각 세 필드가 있어 결과는 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(GetArrayLength(route)) & "|" & CStr(GetArrayLength(route[0]))
END SUB매개변수 및 실행 설명:
- 두 지점에 각각 세 필드가 있어 결과는 2|3이며 6이 아닙니다. 캐릭터는 이동하지 않습니다.
- 서버 요청, 아이템 이동, 배열 수정이 없는 로컬 조회입니다. 예제는 현재 가방 대신 고정된 데이터를 사용합니다.
# 첫 인덱스 보호
#
# 안전한 인덱스 접근과 유한 반복을 위해 Array의 직접 칸 수를 셉니다.
#
# Integer >= 0. 빈 배열과 다른 종류 모두 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
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь