IMCAT.DEV
로그인 가입
Lua 입문 문법

Lua 루프와 반복문

Lua 루프와 반복문 — 초급

루프와 반복문

1. 도입 (왜 배워야 하는가)

루프와 반복문은 프로그래밍에서 매우 중요한 개념입니다. 데이터 처리, 반복적인 작업, 리스트 및 배열의 요소 접근 등 다양한 상황에서 필수적으로 사용됩니다. 예를 들어, 쇼핑몰 웹사이트에서 사용자가 장바구니에 담은 여러 상품의 총합을 계산할 때, 각 상품을 하나씩 반복해서 처리해야 하므로 루프가 필요합니다. 만약 이 개념을 모른다면, 수많은 데이터를 수동으로 처리해야 하며, 이는 비효율적이고 오류를 발생시킬 수 있습니다.

2. 핵심 개념 설명

루프(Loop)는 특정 조건이 만족될 때까지 또는 정해진 횟수만큼 반복 실행되는 코드 블록을 의미합니다. 반복문(Iteration)은 이러한 루프를 통해 반복적으로 실행되는 과정을 일컫습니다.

실생활 비유

루프를 요리 과정에 비유해 보겠습니다. 요리를 할 때, 여러 번 재료를 썰거나 끓이는 과정을 반복합니다. 이때 "5번 썰기"라고 명시하면, 5번 반복할 때까지 계속 썰게 됩니다. 이와 같이 프로그래밍에서도 특정 작업을 여러 번 반복할 때 루프를 사용합니다.

용어설명
for 루프지정된 횟수만큼 반복 실행
while 루프조건이 참인 동안 반복 실행
repeat조건이 거짓이 되기 전까지 반복 실행

3. 기본 코드 예제

가장 기본적인 for 루프의 사용법을 보여주겠습니다.

for i = 1, 5 do
    print("안녕하세요, Lua!")
end
  • 실행 결과
  • 안녕하세요, Lua!
    안녕하세요, Lua!
    안녕하세요, Lua!
    안녕하세요, Lua!
    안녕하세요, Lua!
  • 코드 한 줄씩 동작 설명
  • - for i = 1, 5 do : 변수 i를 1부터 5까지 증가시키며 루프를 시작합니다. - print("안녕하세요, Lua!") : 루프가 실행될 때마다 "안녕하세요, Lua!"를 출력합니다. - end : 루프의 끝을 나타냅니다.

    4. 실전 활용 예제

    1. 장바구니 총합 계산
    2. local cart = {1000, 2000, 3000, 4000}
      local total = 0
      
      for i = 1, #cart do
          total = total + cart[i]
      end
      
      print("장바구니 총합: " .. total)
    3. 상황 설명: 쇼핑몰에서 사용자가 장바구니에 담은 모든 상품의 총합을 계산합니다. cart 배열에 담긴 가격을 반복하여 total 변수에 합산합니다.
    4. 학생 점수 평균 계산
    5. local scores = {80, 90, 70, 85, 95}
      local sum = 0
      
      for i = 1, #scores do
          sum = sum + scores[i]
      end
      
      local average = sum / #scores
      print("학생 점수 평균: " .. average)
    6. 상황 설명: 학생들의 점수를 담은 배열에서 점수 평균을 계산합니다. 각 점수를 더한 후 학생 수로 나누어 평균을 구합니다.
    7. 5. 흔한 실수와 주의사항

    8. 루프 범위 설정 실수
    9. - 잘못된 코드:

         for i = 1, 5 do
             print(i)
         end

      - 올바른 코드:

         for i = 1, 5 do
             print(i)
         end

      - 설명: 루프 범위를 잘못 설정하면 원하는 만큼 반복하지 못합니다.

    10. 무한 루프 발생
    11. - 잘못된 코드:

         local i = 1
         while i <= 5 do
             print(i)
             -- i를 증가시키지 않음
         end

      - 올바른 코드:

         local i = 1
         while i <= 5 do
             print(i)
             i = i + 1
         end

      - 설명: 조건을 만족하는지 확인하는 코드가 없으면 무한 루프가 발생합니다.

      6. 정리

    12. 루프와 반복문은 데이터 처리와 반복 작업을 자동화하는 데 필수적입니다.
    13. for, while, repeat 등의 다양한 반복문을 이해하고 사용할 수 있어야 합니다.
    14. 실생활의 반복적인 작업을 비유로 이해하면 더 쉽게 학습할 수 있습니다.

다음에 학습하면 좋은 주제: 함수와 모듈화 - 코드를 재사용하고 관리하기 쉽게 만드는 방법입니다.