Menu
Coddy logo textTech

ipairs()를 사용한 순회

Coddy Lua 여정의 Logic & Flow 섹션에 포함된 레슨 — 54개 중 2번째.

pairs()는 모든 테이블 구조에서 작동하지만, Lua는 리스트 스타일 테이블을 위해 특별히 설계된 ipairs()라는 전용 함수를 제공합니다. 이 함수는 인덱스 1부터 시작하여 nil 값을 만날 때까지 순차적으로 테이블을 반복합니다.

ipairs()의 구문은 pairs()와 유사합니다:

for index, value in ipairs(myList) do
    -- 여기서 index와 value를 사용합니다
end

퀘스트 아이템 목록이 포함된 예시입니다:

local questItems = {"Map", "Compass", "Torch", "Rope"}

for i, item in ipairs(questItems) do
    print(i .. ". " .. item)
end

출력:

1. Map
2. Compass
3. Torch
4. Rope

pairs()와의 주요 차이점은 ipairs()nil 값을 발견하면 그 뒤에 더 많은 요소가 있더라도 즉시 중단된다는 점입니다.

challenge icon

챌린지

쉬움

tasks 테이블을 받아서 모든 작업을 위치 번호와 함께 나열하는 형식화된 문자열을 반환하는 listTasks 함수를 작성하세요.

ipairs()를 사용하여 작업을 순차적으로 반복하고, 각 줄에 number. task 형식으로 작업 번호와 작업 이름이 표시되는 문자열을 만드세요. 각 작업은 별도의 줄에 있어야 합니다.

매개변수:

  • tasks (table): 작업 이름들을 문자열로 포함하는 리스트 스타일의 테이블

반환값: 각 작업이 별도의 줄에 번호와 함께 표시된 문자열. 형식: 

1. task1
2. task2
3. task3

치트 시트

ipairs()는 인덱스 1부터 시작하여 첫 번째 nil 값을 만날 때까지 리스트 형식의 테이블을 순차적으로 반복합니다:

for index, value in ipairs(myList) do
    -- 여기서 index와 value를 사용합니다
end

예시:

local questItems = {"Map", "Compass", "Torch", "Rope"}

for i, item in ipairs(questItems) do
    print(i .. ". " .. item)
end
-- 출력:
-- 1. Map
-- 2. Compass
-- 3. Torch
-- 4. Rope

주요 차이점: pairs()와 달리, ipairs()는 뒤에 더 많은 요소가 있더라도 nil 값을 만나면 즉시 중단됩니다.

직접 해보기

function listTasks(tasks)
    -- 여기에 코드를 작성하세요
end
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Logic & Flow의 모든 레슨