숫자형 for 반복문
for i=start,limit,step 구문으로 숫자 범위를 반복합니다.
숫자형 for 반복문은(는) CoddyKit의 무료 Lua Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Lua Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Lua Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
숫자 for 문법
Lua의 숫자 for 반복문은 for var = start, limit, step do 형식으로 작성합니다. step을 생략하면 기본값은 1입니다. 반복문 변수는 반복문 본문에서만 사용할 수 있는 지역 변수이며, 본문 안에서 수정할 수 없습니다. limit과 step은 반복문이 시작되기 전에 한 번만 평가됩니다.
-- Count 1 to 5
for i = 1, 5 do
io.write(i .. " ")
end
print() -- 1 2 3 4 5
-- Count with step 2
for i = 1, 10, 2 do
io.write(i .. " ")
end
print() -- 1 3 5 7 9음수 간격을 사용한 카운트다운
숫자를 세어 내려가려면 음수 간격을 사용하십시오. step이 음수일 때는 var >= limit인 동안 반복문이 계속됩니다. 음수 간격에서 시작값이 이미 limit보다 작으면 반복문 본문은 실행되지 않습니다.
for i = 10, 1, -1 do
io.write(i .. " ")
end
print()
-- 10 9 8 7 6 5 4 3 2 1
-- Step -2
for i = 10, 0, -2 do
io.write(i .. " ")
end
print()
-- 10 8 6 4 2 0반복문 변수는 지역 변수입니다
반복문 제어 변수(i)는 자동으로 지역 변수가 됩니다. 반복문 안에서 그 값을 변경할 수 없습니다. Lua는 반복문 변수에 대한 대입을 무시합니다. 반복 횟수를 다른 방식으로 추적하려면 별도의 지역 변수를 사용하십시오.
for i = 1, 5 do
-- i is read-only inside the loop
-- i = i + 10 -- this creates a new global i, not the loop var
print(i) -- always 1, 2, 3, 4, 5 as expected
end
-- i is nil here (it was local to the loop)
print(i) -- nil (or whatever global i was)배열 순회하기
숫자 for의 가장 흔한 사용법은 인덱스로 배열을 순회하는 것입니다. limit에는 #arr을 사용하십시오. ipairs와 달리 이 형식에서는 간격을 조절하거나 역순으로 순회할 수 있으며, 조밀한 배열에서는 약간 더 빠릅니다.
local fruits = {"apple", "banana", "cherry", "date"}
for i = 1, #fruits do
print(i, fruits[i])
end
-- 1 apple
-- 2 banana
-- 3 cherry
-- 4 datefor로 합계 구하기
숫자 for 반복문은 배열의 값을 누적하는 데 적합합니다. 패턴은 항상 같습니다. 반복문 전에 결과 변수를 초기화하고, 반복문 안에서 갱신한 다음, 반복문 뒤에 사용합니다.
local values = {10, 20, 30, 40, 50}
local total = 0
for i = 1, #values do
total = total + values[i]
end
print("Total:", total) -- 150
print("Count:", #values) -- 5
print("Mean:", total / #values) -- 30숫자 for 중첩하기
행렬 순회, 테이블의 테이블 처리, 좌표 쌍 생성과 같은 2차원 작업에는 숫자 for 반복문 두 개를 중첩하십시오. 바깥 반복문은 행을, 안쪽 반복문은 열을 순회하며 각 반복에서 하나의 셀에 접근합니다.
local rows, cols = 3, 4
for r = 1, rows do
for c = 1, cols do
io.write(string.format("%2d ", r * c))
end
print()
end
-- 1 2 3 4
-- 2 4 6 8
-- 3 6 9 12실수 간격
간격과 limit에는 부동 소수점 숫자를 사용할 수 있지만, 정밀도 오류가 발생할 수 있습니다. 정확한 반복 횟수가 필요하다면 정수를 사용하십시오. 실수를 사용해야 한다면 반복 횟수가 floor((limit - start) / step) + 1로 계산된다는 점에 유의하십시오.
-- Float step
for x = 0.0, 1.0, 0.25 do
io.write(x .. " ")
end
print()
-- 0.0 0.25 0.5 0.75 1.0
-- Prefer integer math when possible
for i = 0, 4 do
local x = i * 0.25
io.write(x .. " ")
end결과 테이블 만들기
숫자 for 반복문은 기존 데이터에서 새 테이블을 만드는 표준적인 방법입니다. 빈 테이블을 만든 다음, 반복문으로 인덱스에 값을 채우십시오.
local source = {1, 2, 3, 4, 5}
local squares = {}
for i = 1, #source do
squares[i] = source[i] ^ 2
end
for i = 1, #squares do
print(squares[i]) -- 1, 4, 9, 16, 25
end숫자 for에서 break 사용하기
break를 사용하면 숫자 for 반복문을 일찍 종료할 수 있습니다. 실행은 end 다음에 있는 문장으로 이동합니다. 이는 선형 검색에 유용합니다. 대상을 찾을 때까지 순회한 다음 break로 빠져나오면 됩니다.
local data = {5, 3, 8, 1, 9, 2, 7}
local target = 9
local foundAt = nil
for i = 1, #data do
if data[i] == target then
foundAt = i
break
end
end
if foundAt then
print("Found at index " .. foundAt) -- 5
else
print("Not found")
end반복 횟수 계산
for i = start, limit, step의 반복 횟수는 max(0, floor((limit - start) / step) + 1)입니다. 이를 이해하면 하나 차이 오류를 방지할 수 있습니다. step이 1이면 횟수는 간단히 limit - start + 1입니다.
-- How many iterations?
local count = 0
for i = 1, 10, 3 do
count = count + 1
end
print(count) -- 4 (i = 1, 4, 7, 10)
count = 0
for i = 5, 1 do -- step=1 but start > limit
count = count + 1
end
print(count) -- 0 (no iterations)빠른 확인
for i = 10, 1, -3 do는 어떤 값을 순회합니까?
복습: 숫자 for
요약:
for i = start, limit, step do— step의 기본값은 1입니다- 카운트다운에는 음수 간격을 사용합니다
- 반복문 변수는 자동으로 지역 변수가 되며 읽기 전용입니다
- limit과 step은 반복문이 시작되기 전에 한 번만 평가됩니다
break로 일찍 종료할 수 있습니다- 표준 패턴: 결과 테이블 만들기, 배열 검색, 합계 누적
자주 묻는 질문
“숫자형 for 반복문” 강의는 무료인가요?
네 — “숫자형 for 반복문” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Lua Academy 강의 전체를 잠금 해제할 수 있습니다. Lua Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“숫자형 for 반복문”에서 뭘 배우나요?
for i=start,limit,step 구문으로 숫자 범위를 반복합니다. 브라우저에서 직접 실행하는 실습 코드로 Lua Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Lua Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Lua Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“숫자형 for 반복문” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Lua Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Lua Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.