Menu
Coddy logo textTech

pairs()를 사용한 순회

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

Lua에서 딕셔너리 스타일의 테이블을 작업할 때, 내부에 저장된 모든 키-값 쌍에 접근해야 할 때가 많습니다. pairs() 함수는 키의 타입에 관계없이 테이블의 모든 항목을 반복할 수 있게 함으로써 이를 가능하게 합니다.

for 루프에서 pairs()를 사용하는 구문은 다음과 같습니다:

for key, value in pairs(myTable) do
    -- 여기서 key와 value를 사용합니다
end

루프의 각 반복 동안, pairs()는 키와 그에 대응하는 값을 모두 제공합니다. 이는 두 정보를 동시에 접근하고 작업할 수 있음을 의미합니다.

플레이어의 인벤토리를 사용한 실용적인 예시입니다:

local inventory = {
    sword = 1,
    potion = 5,
    gold = 150
}

for item, quantity in pairs(inventory) do
    print(item .. ": " .. quantity)
end

이 코드는 각 아이템의 이름과 수량을 출력합니다. pairs() 함수는 문자열, 숫자 또는 다른 테이블을 포함한 모든 키 유형에서 작동합니다.

challenge icon

챌린지

쉬움

inventory 테이블을 받아 모든 아이템과 수량을 나열하는 형식화된 문자열을 반환하는 printInventory 함수를 작성하세요.

pairs()를 사용하여 inventory 테이블을 반복하고, 각 줄에 item: quantity 형식으로 아이템 이름과 수량이 표시되는 문자열을 만드세요. 각 아이템은 별도의 줄에 있어야 합니다.

각 아이템을 별도의 줄에 배치하려면 항목 사이에 줄 바꿈 문자 "\n"를 사용하세요. 예를 들어, "apple: 5\nbanana: 3"은 두 개의 별도 줄로 표시됩니다. 첫 번째 아이템 앞에 "\n"을 추가하지 않도록 주의하세요. 아이템 사이에만 추가해야 합니다.

매개변수:

  • inventory (table): 키는 아이템 이름(문자열)이고 값은 수량(숫자)인 딕셔너리 스타일의 테이블

반환값: 각 아이템과 수량이 "\n"으로 구분되어 별도의 줄에 표시되는 문자열. {apple=5, banana=3}에 대한 예시 출력:
apple: 5
banana: 3

치트 시트

pairs() 함수를 사용하면 딕셔너리 스타일 테이블의 모든 키-값 쌍을 반복할 수 있습니다:

for key, value in pairs(myTable) do
    -- 여기서 key와 value를 사용합니다
end

각 반복 중에 pairs()는 키와 그에 해당하는 값을 모두 제공하므로, 두 정보를 동시에 액세스할 수 있습니다.

인벤토리 테이블을 사용한 예시:

local inventory = {
    sword = 1,
    potion = 5,
    gold = 150
}

for item, quantity in pairs(inventory) do
    print(item .. ": " .. quantity)
end

pairs() 함수는 문자열, 숫자 또는 다른 테이블을 포함한 모든 키 유형에서 작동합니다.

직접 해보기

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

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

Logic & Flow의 모든 레슨