Devolver valores de tablas

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Una necesidad común en muchas estructuras de datos es devolver valores. Este artículo cubrirá la búsqueda en una tabla utilizando pairs() o ipairs() para una mitad de cualquier elemento de la tabla, como la clave o el valor, para encontrar y devolver la otra mitad.

El ejemplo utiliza un array que lista los barcos esperando ser reparados. ipairs() se usa para devolver la posición de un barco en la fila.


local shipToFind = "Void Racer"
-- Barcos esperando reparación
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- Obtener lugar en la fila
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--Imprimir lugar en la fila
local placeInLine = getPlaceInLine(shipToFind)
print("Tu lugar en la fila es " .. placeInLine)

Ejemplo de búsqueda en un diccionario

¿Alguna vez has buscado una mascota perdida en casa, yendo de habitación en habitación? En tu propio código, crea una función para buscar en un diccionario llamado casa para ver qué habitación tiene un cachorro perdido.

  1. Copia el diccionario a continuación para actuar como la casa.


    local house = {
    kitchen = "montón de basura",
    livingRoom = "gatito",
    bedroom1 = "nadie allí",
    bedroom2 = "cachorro",
    }
  2. Crea una nueva función llamada findPet() para buscar en el diccionario. Incluye parámetros para qué diccionario buscar y qué valor buscar.

  3. Utiliza pairs() para iterar a través del diccionario. Intenta codificar tu propio método antes de verificar tu trabajo en la solución que aparece a continuación.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. A medida que el bucle for itera a través del diccionario, utiliza return para devolver la habitación donde se encontró la mascota.


    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, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.