흠.. 스크립트 전용 게시판이 얼마나 활성화 될지는 모르겠지만 충분히 유용할거라 생각됩니다. (임프님~?) +_ +
table.getn은 배열 인덱스 개수만 가져옵니다.
다른 키들도 가져오려면 pairs를 사용하세요.
days = {["Sunday"] = 1, ["Monday"] = 2, ["Tuesday"] = 3, ["Wednesday"] = 4, ["Thursday"] = 5, ["Friday"] = 6, ["Saturday"] = 7, "a", "b" }
-- k는 해당 인덱스 키, v는 인덱스 키의 값을 반환 받는다.
for k, v in pairs( days ) do
print( string.format( "pairs : IDX = %s, VALUE = %s", k, v ) );
end
for k, v in ipairs( days ) do
print( string.format( "ipairs : IDX = %s, VALUE = %s", k, v ) );
end
추가 질문으로 올라온 댓글이 있던데... 그 부분에 오류가 나지 않았으므로 패스하겠습니다.
ps.
첨부 파일은 혹시 지금 이야기되는 내용을 잠깐 돌려 보고 싶은 분들을 위해 올려두었습니다.
예전에 루아 보면서 잠깐 만들다만 테스터입니다. --;;
위 코드 복사해서 F9 누르면 결과 나오는.. 뭐 그런 용도입니다. ㅎㅎ
즈티브삽스 님이 쓰신 글 :
: 볼랜드 포럼에 루아 관련 게시판이 없어서 자유 게시판에 일단 글을 씁니다.
: 볼랜드 포럼에서 루아 관련 게시판을 만들기 힘들다면, 하다못해 스크립트 언어를 다루는 게시판이 있었으면 좋겠어요.
:
: 현재 사이텍 미디어 출판사에서 출판한 "루아를 이용한 민첩하고 효과적인 게임 개발"이란 책에서 다음 예제가 나오는데 그걸 살짝 수정했습니다.
:
:
: myData = {}
: myData.name = "김두한"
: myData.class = "마법사"
: myData.str = math.random(3, 18)
: myData.dex = math.random(3, 18)
:
: myData[1] = 17
: myData[2] = 34
: myData[3] = 26
:
: print("\nPrint out the myData elements:\n")
: for index = 1, table.getn(myData) do
: print(myData[index]) -- 17, 34, 26
: end
:
:
: 여기서 제가 궁금한건, myData에 "김두한"과 "마법사"라는 데이터가 저장이 되긴 된건가요? myData는 테이블(일종의 배열)인데 for 루프 써서 출력을 하니까 1번, 2번, 3번 색인에 각기 저장된 17, 34, 26 값만 출력이 되네요.
:
: "김두한", "주먹왕"은 어디에 저장된거고 어떻게 사용하는거죠?