2013-07-09 1 views
-2

이미 글로벌 변수 아래에 루프트 테이블 A={}, A.B={}이 있습니다. 나는 루아 테이블 D1={}, D1.D2={}을 생성하는 함수를 가지고 있지만이 함수는 테이블을 전역 변수 목록에 배치합니다. 모든 lua 값을 출력하면 A={}, A.B={}, D1=={}, D1.D2={}이 인쇄됩니다. 거기에 A={}, A.B={} 아래의 테이블 아래에 함수를 만들 수있는 방법이 있나요 출력을 의미 : A={}, A.B={}, A.B.D1=={}, A.B.D1.D2={}. source-table의 hirarchy가 알려지지 않았기 때문에 table.insert()를 사용하고 싶지 않습니다.루아는 테이블 추가를 허용하지 않습니다.

+0

'table.insert'는 색인 삽입에서만 작동합니다. 키와 함께 삽입 할 수 없습니다. – greatwolf

+0

http://stackoverflow.com/questions/17525622/how-to-prefix-a-lu-table에서 이미 질문하지 않았습니까? – dualed

답변

2

여기에 원하는 것처럼 들리면 D1D1.D2이라는 함수를 테이블에 전달하면 원하는 값을 추가 할 수 있습니다.

function addTable(tbl) 
    tbl.D1 = {} 
    tbl.D1.D2 = {'test'} 
end 

addTable(A.B) 
-- now you can call A.B.D1.D2 
print(A.B.D1.D2[1]) -- prints 'test' 
+0

과제도 할당 할 필요가 없습니다. addTable의 본문에서'tbl.D1 = {D2 = { 'test'}}'를 사용할 수 있습니다. –