본문 바로가기
이미지맥스 그리고 루아(lua)/루아(lua)

[lua] 테이블 길이 확인 Table Value Lenth

by 위치결정 2021. 3. 28.
반응형

[lua] Table Value Lenth Count

for문을 이용한 함수를 이용하여 테이블의 밸류의 개수를 알수있습니다.

혹은 테이블 형태의 변수에 #을 접두어로 사용하여 사용해도 테이블의 밸류 갯수를 리턴합니다.

하지만 이경우 key를 가지는 딕셔너리 형태의 테이블인 경우는 개수가 카운트되지 않습니다.

function lenTable(table)
    if type(table) == "table" then
        local count = 0
        for _ in pairs(table) do
            count = count + 1
        end
        return count
    else
        print('argument must input table')
    end
end

> 예시

local a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
local b = {sx={135, 205, 270, 335, 405}, sy={625, 690, 755}}


print('a : '..lenTable(a))
-- a : 10
print('b : '..lenTable(b))
-- b : 2
print('b.sx : '..lenTable(b.sx))
-- b.sx : 5
print('b.sy : '..lenTable(b.sy))
-- b.sy : 3


print('a : '..#a)
-- a : 10
print('b : '..#b)
-- b : 0
print('b.sx : '..#b.sx)
-- b.sx : 5
print('b.sy : '..#b.sy)
-- b.sy : 3

 

반응형

댓글