많은 데이터 구조에서 값 반환은 일반적인 필요 사항입니다. 이 문서에서는 pairs() 또는 ipairs()를 사용하여 테이블을 검색하는 방법을 다루며, 테이블 요소의 절반, 즉 키 또는 값을 찾아 다른 절반을 반환합니다.
예제에서는 수리를 기다리는 배의 목록이 있는 배열을 사용합니다. ipairs()는 배의 대기 순서를 반환하는 데 사용됩니다.
local shipToFind = "Void Racer"
-- 수리를 기다리는 배들
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- 대기 순서 가져오기
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--대기 순서 출력
local placeInLine = getPlaceInLine(shipToFind)
print("당신의 대기 순서는 " .. placeInLine)
사전 검색 예제
집에서 방 하나하나를 돌아다니며 잃어버린 애완동물을 찾은 적이 있습니까? 잃어버린 강아지를 보관하고 있는 방을 확인하기 위해 house라는 이름의 사전을 검색하는 함수를 코드로 작성해보세요.
아래의 사전을 복사하여 집으로 사용하십시오.
local house = {kitchen = "잡동사니 더미",livingRoom = "새끼 고양이",bedroom1 = "아무도 없음",bedroom2 = "강아지",}사전을 검색하기 위해 findPet()이라는 새로운 함수를 만듭니다. 검색할 사전과 검색할 값을 위한 매개변수를 포함시킵니다.
pairs()를 사용하여 사전을 반복합니다. 아래의 솔루션을 확인하기 전에 직접 코딩하는 것을 시도해 보십시오.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doendendfor 루프가 사전을 반복하며, return을 사용하여 애완동물이 발견된 방을 반환합니다.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doif value == searchFor thenreturn placeendendend