pairs()를 사용한 순회
Coddy Lua 여정의 로직 및 흐름 제어 (Logic & Flow) 섹션에 포함된 레슨. 54개 중 1번째.
pairs() function을 사용하면 키의 유형과 관계없이 테이블의 모든 항목을 순회할 수 있으므로 이 작업이 가능합니다.for 루프에서 pairs()를 using하는 구문은 다음과 같습니다:for key, value in pairs(myTable) do
-- 여기서 key와 value를 사용하세요
endpairs()는 key와 그에 해당하는 값을 모두 제공합니다. 즉, 두 정보를 동시에 액세스하고 사용할 수 있습니다.플레이어의 inventory를 사용하는 실용적인 예시는 다음과 같습니다:local inventory = {
sword = 1,
potion = 5,
gold = 150
}
for item, quantity in pairs(inventory) do
print(item .. ": " .. quantity)
endpairs() 함수는 문자열, 숫자 또는 다른 테이블을 포함하여 모든 key 유형과 함께 작동합니다.문자열 다루기Lua에서는 연결 연산자인 두 개의 점(..)을 사용하여 문자열을 서로 연결할 수 있습니다. 예를 들어, "Hello" .. " " .. "World"는 "Hello World"가 됩니다.여러 줄에 걸쳐 텍스트의 형식을 지정해야 하는 경우 newline 이스케이프 문자인 "\n"을 사용할 수 있습니다. Lua는 문자열 안에서 "\n"을 만나면 이를 다음 줄로 이동하라는 명령으로 처리합니다.예를 들어, print("Line 1\nLine 2")는 다음을 출력합니다:Line 1
Line 2챌린지
쉬움printInventory function을 작성하세요. 이 함수는 inventory 테이블을 받아 모든 item과 수량을 나열하는 형식이 지정된 문자열을 반환해야 합니다.
pairs()를 사용하여 inventory 테이블을 순회하고, 각 줄에 item 이름과 수량이 item: quantity 형식으로 표시되는 문자열을 만드세요. 각 item은 별도의 줄에 있어야 합니다.
각 item을 자체 줄에 배치하려면 항목 사이에 줄바꿈 문자 "\n"를 사용하세요. 예를 들어 "apple: 5\nbanana: 3"은 두 개의 별도 줄로 표시됩니다. 첫 번째 item 앞에 "\n"을 추가하지 않도록 주의하세요. 항목 사이에만 추가해야 합니다.
매개변수:
inventory(table): 키가 item 이름(strings)이고 값이 수량(numbers)인 사전 형식의 테이블
반환값: 각 item과 수량이 별도의 줄에 있고 "\n"로 구분된 문자열입니다. {apple=5, banana=3}의 예시 output:apple: 5banana: 3
직접 해보기
function printInventory(inventory)
-- 출력을 형식화하려면 '..' 연산자를 사용하여 문자열을 연결할 수 있습니다.
-- 새 줄을 추가하려면 특수 문자 '\n'을 사용하세요.
-- 첫 번째 항목을 추가하는지 아니면 이후 항목을 추가하는지 추적할 방법이 필요할 수 있습니다
-- 항목 앞에 새 줄을 추가할지 결정하기 위해.
-- 여기에 코드를 작성하세요
end이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 및 흐름 제어 (Logic & Flow)의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러