Buscar una poción específica
Parte de la sección Fundamentos del Journey de Lua de Coddy. Lección 81 de 90.
Desafío
FácilBasándote en tu sistema de cálculo del valor del inventario, implementa una función de búsqueda que te permita encontrar y mostrar información detallada sobre una poción específica del inventario de tu tienda.
Conserva tu tabla inventory, pero elimina el bucle del valor total y su impresión del paso anterior: en este paso solo se imprime el resultado de la búsqueda, y no se imprime nada si no coincide ninguna poción.
Se proporcionará la siguiente entrada:
- Una cadena que contiene el nombre de la poción que se busca
Usa un bucle for numérico para recorrer tu tabla inventory. Para cada poción, comprueba si su name coincide con el término de búsqueda usando el operador de igualdad ==.
Cuando encuentres la poción coincidente, imprime todos sus detalles con el siguiente formato:
Found: [name]
Price: [price] gold
Stock: [stock] unitsUsa la concatenación de cadenas para combinar el texto descriptivo con cada propiedad de la poción. Después de encontrar y mostrar los detalles de la poción, usa la instrucción break para salir del bucle, ya que habrás encontrado lo que buscabas.
Pruébalo tú mismo
-- Inventory table with potion data
local inventory = {
{name = "Health Potion", price = 15, stock = 8},
{name = "Mana Potion", price = 12, stock = 5},
{name = "Strength Potion", price = 25, stock = 3},
{name = "Speed Potion", price = 18, stock = 2}
}
-- Initialize total value variable
local totalValue = 0
-- Calculate total inventory value using numeric for loop
for i = 1, #inventory do
local itemValue = inventory[i].price * inventory[i].stock
totalValue = totalValue + itemValue
end
-- Print the total inventory value
print("Total inventory value: " .. totalValue .. " gold")Todas las lecciones de Fundamentos
4Operadores 2 Relacionales y Lógicos
Operadores de IgualdadOperadores RelacionalesEl Operador 'and'El Operador 'or'El Operador 'not'Evaluación de CortocircuitoValores Truthy y FalsyResumen - Lógica Simple7Lógica condicional básica
La sentencia if-thenLa sentencia if-then-elseLa sentencia elseifResumen - Cofre del tesoro10Tablas Parte 1: Estilo de lista
¿Qué es una tabla?Crear una tablaAcceder a elementos por índiceModificar elementos por índiceEl operador de longitud '#'table.insert()table.remove()Resumen - Gestionar miembros del grupo13Proyecto: Tienda de pociones sencilla
Configuración del proyectoAñadir una poción2Variables y tipos de datos
¿Qué es una variable?NúmerosStringsBooleanosEl valor 'nil'La función type()Convenciones de nomenclaturaResumen - Perfil de personaje5Salida básica
Imprimir literalesImprimir variablesImprimir múltiples valoresCombinar cadenas y variablesLa función tostring()EntradaConversión de tipos (Cast)Resumen - Informe de estadoResumen - Hasta 1208Fundamentos de manipulación de strings
string.len()string.upper & string.lowerstring.sub()string.rep()string.find()Repaso - Formatear nombre de usuario3Operadores 1: Aritmética y Concatenación
Operadores aritméticosOperador de móduloOperador de exponenciaciónConcatenación de stringsPrecedencia de operadoresResumen: Cálculos sencillos6Proyecto: Mostrar estadísticas del personaje
Mensaje de bienvenidaDeclarar estadísticas del personaje9Fundamentos de las funciones
Declarar una funciónLlamar a una funciónFunciones con parámetrosFunciones con múltiples parámetrosLa sentencia 'return'Repaso - Calculadora de áreaPractica por tu cuenta: Compilador de Lua online