0Pricing
Lua Academy · 강의

숫자형 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  date

for로 합계 구하기

숫자 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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. if, elseif 및 else 문
  2. while 및 repeat-until 반복문
  3. 숫자형 for 반복문
  4. 제네릭 for와 break
← Lua Academy(으)로 돌아가기