[LUA] FOR 문

2019. 9. 29. 15:05개발/LUA

루아 FOR 문  기본 문법은

for var = start, end, (step) do
   ...
end

식이다

파이썬이나 C/C++ 등과 다른 게 파이썬의 for 문은 end 조건 값과 같은 경우도 포함한다. 

또한 테이블의 카운트를 구하는 편의 함수 #table 은 구성요소가 배열인 경우에만  제대로 계산된다 (아래 샘플 코드 참조) --> #table 은 table 내에 [1] 로 시작하는 배열의 개수를 구하기 때문에 해당 키가 없으면 사이즈를 구하지 못한다.

print('--------------------------------------------------------------------')
print('0 에서 99 까지 더하기 예제')
print('--------------------------------------------------------------------')

local sum = 0 
for i = 0, 99 do
    sum = sum + i
    -- print(sum, i)
end

print(sum)
--> 4950


print('--------------------------------------------------------------------')
print('99에서 0까지 더하기 예제')
print('--------------------------------------------------------------------')
sum = 0 
for i = 99, 0, -1 do
    sum = sum + i
    -- print(sum, i)
end

print(sum)
--> 4950


print('--------------------------------------------------------------------')
print('일반 배열 테이블에 대한 for')
print('--------------------------------------------------------------------')
local list = {'영어', '수학', '과학'}

for i = 1, #list do 
    print(list[i])
end
--> 영어
--> 수학
--> 과학

print('--------------------------------------------------------------------')
print('(키/값)으로 이뤄진 테이블에 대한 for')
print('--------------------------------------------------------------------')
local list2 = {eng = 100, math = 90, sci = 80}

for i = 1, #list2 do 
    print(list2[i])
end
--> 주의 : #list2 는 0 이기 때문에 수행 되지 않는다. 

for k, v in pairs(list2) do 
    print(k, v)
end
--> eng	100
--> sci	80
--> math	90



print('--------------------------------------------------------------------')
print('배열과 (키/값)이 섞인 테이블에 대한 for')
print('--------------------------------------------------------------------')
local list3 = {'국어', eng = 100, math = 90, sci = 80}

for i = 1, #list3 do 
    print(list3[i])
end
--> 국어

for k, v in pairs(list3) do 
    print(k, v)
end
--> 1	국어
--> eng	100
--> sci	80
--> math	90

 

'개발 > LUA' 카테고리의 다른 글

[LUA] TABLE 정렬(SORT)  (0) 2019.10.19
[LUA] 개발 환경 만들기  (0) 2019.09.30
[LUA] FOR 문  (0) 2019.09.29
[LUA] 함수 호출 CALL BY VALUE/CALL BY REFERENCE  (0) 2019.07.28
[LUA] 테이블 다루기 - 배열/맵/클래스  (0) 2019.07.28
[LUA] 문자열 다루기 간단 예제  (0) 2019.07.27

TAG

1 2 3 4 5 6