Retornar valores de tabelas

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

Uma necessidade comum em muitas estruturas de dados é retornar valores. Este artigo abordará a pesquisa em uma tabela usando pairs() ou ipairs() para metade de qualquer elemento da tabela, como a chave ou o valor, para encontrar e retornar a outra metade.

O exemplo usa um array listando os navios que estão esperando para serem reparados. ipairs() é usado para retornar o lugar do navio na fila.


local shipToFind = "Void Racer"
-- Navios esperando para reparo
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- Obtém o lugar na fila
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--Imprimir o lugar na fila
local placeInLine = getPlaceInLine(shipToFind)
print("Seu lugar na fila é " .. placeInLine)

Exemplo de busca em dicionário

Você já procurou um animal de estimação perdido em casa, indo de cômodo em cômodo? Em seu próprio código, crie uma função para pesquisar em um dicionário chamado house para ver qual cômodo contém um filhote perdido.

  1. Copie o dicionário abaixo para agir como a casa.


    local house = {
    kitchen = "montanha de tralhas",
    livingRoom = "gatinho",
    bedroom1 = "ninguém lá",
    bedroom2 = "filhote",
    }
  2. Crie uma nova função chamada findPet() para pesquisar no dicionário. Inclua parâmetros para qual dicionário pesquisar e qual valor procurar.

  3. Use pairs() para iterar pelo dicionário. Tente codificar seu próprio antes de verificar seu trabalho na solução abaixo.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. Enquanto o loop for itera pelo dicionário, use return para devolver o cômodo onde o animal de estimação foi encontrado.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    if value == searchFor then
    return place
    end
    end
    end
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.