문제

LUA에서는 다음과 같은 방법으로 테이블을 만들 수 있습니다.

local t = { 1, 2, 3, 4, 5 }

그러나 연관성 테이블을 만들고 싶습니다. 다음과 같은 방식으로해야합니다.

local t = {}
t['foo'] = 1
t['bar'] = 2

다음은 오류가 발생합니다.

local t = { 'foo' = 1, 'bar' = 2 }

첫 번째 코드 스 니펫과 유사하게 수행 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

이것을 작성하는 올바른 방법도 있습니다

local t = { foo = 1, bar = 2}

또는 테이블의 키가 법적 식별자가 아닌 경우 :

local t = { ["one key"] = 1, ["another key"] = 2}

다른 팁

나는 당신이 이렇게 보면 조금 더 잘 작동하고 이해할 수 있습니다.

local tablename = {["key"]="value",
                   ["key1"]="value",
                   ...}

결과 찾기 : tableName.key = 값

사전으로서의 테이블

테이블을 사용하여 배열과 마찬가지로 수치 적으로 또는 순차적으로 색인되지 않은 정보를 저장하는 데 사용될 수 있습니다. 이러한 스토리지 유형을 때때로 사전, 연관 배열, 해시 또는 매핑 유형이라고합니다. 요소 쌍에 키와 값이있는 사전이라는 용어를 사용하겠습니다. 키는 관련 값을 설정하고 검색하는 데 사용됩니다. 배열과 마찬가지로 테이블 [key] = 값 형식을 사용하여 요소를 테이블에 삽입 할 수 있습니다. 키는 숫자 일 필요는 없거나, 문자열이거나 그 문제에 대해 거의 다른 LUA 객체 (NIL 또는 0/0 제외) 일 수 있습니다. 키 값 쌍이있는 테이블을 만들어 봅시다.

t = {apple = "green", Orange = "Orange", Banana = "Yellow"} k, v 쌍 (t) do print (k, v) 끝 사과 녹색 오렌지 바나나 노란색

에서 : http://lua-users.org/wiki/tablestutorial

문자열 값과 일치하는 문자열 키가있는 연관 배열을 초기화하려면 사용해야합니다.

local petFamilies = {["Bat"]="Cunning",["Bear"]="Tenacity"};

하지만 ~ 아니다

local petFamilies = {["Bat"]=["Cunning"],["Bear"]=["Tenacity"]};
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top