테이블에서 값 반환

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

많은 데이터 구조에서 값을 반환하는 것이 일반적인 필요성입니다. 이 문서에서는 키 또는 값과 같은 테이블 요소의 절반을 검색하는 검색을 사용하여 값을 반환하거나 다른 절반을 반환하려는 경우 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("Your place in line is " .. placeInLine)

사전 검색 예시

집을 방방곡곡 탐색한 적이 있습니까? 손쉽게 집에서 잃어버린 애완 동물을 검색하려면 집에 이름이 있는 사전을 검색하십시오. 잃어버린 강아지를 보려면 집에 있는 함수를 사용하십시오.

  1. 아래 사전을 복사하여 집으로 작동합니다.


    local house = {
    kitchen = "pile of Junk",
    livingRoom = "kitten",
    bedroom1 = "nobody there",
    bedroom2 = "puppy",
    }
  2. 사전을 검색하기 위한 새로운 함수 findPet() 를 생성합니다. 검색할 사전의 매개 변수를 포함하고 검색할 값을 포함하십시오.

  3. 사전을 반복하려면 pairs() 을 사용하십시오. 솔루션에서 작업을 확인하기 전에 자신을 코드화하십시오.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. for 루프가 사전을 반복하면서 반환하는 방에 다시 반환하십시오. return 을 사용하여 사전에 있는 방을 반환하십시오.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    if value == searchFor then
    return place
    end
    end
    end