루아 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] 문자열 다루기 간단 예제 #2 (0) | 2020.05.24 |
---|---|
[LUA] TABLE 정렬(SORT) (2) | 2019.10.19 |
[LUA] 개발 환경 만들기 (3) | 2019.09.30 |
[LUA] 함수 호출 CALL BY VALUE/CALL BY REFERENCE (1) | 2019.07.28 |
[LUA] 테이블 다루기 - 배열/맵/클래스 (1) | 2019.07.28 |
[LUA] 문자열 다루기 간단 예제 (2) | 2019.07.27 |
댓글