Menu
Coddy logo textTech

Resumen - Matemáticas de la billetera

Parte de la sección Object Oriented Programming del Journey de Lua de Coddy — lección 30 de 70.

challenge icon

Desafío

Fácil

Vamos a construir una clase Wallet que reúna las habilidades de sobrecarga de operadores que has aprendido en este capítulo. Tu billetera almacenará una cantidad de dinero y admitirá dos operaciones clave: combinar billeteras con + y comparar billeteras con <code>< y .

Organizarás tu código en dos archivos:

  • Wallet.lua: Define tu clase Wallet con un campo amount que represente cuánto dinero contiene. Incluye un constructor :new(amount) e implementa dos metamétodos:
    • __add: Sumar dos billeteras crea una nueva billetera que contiene el total combinado
    • __lt: Comparar billeteras determina cuál contiene menos dinero
  • main.lua: Requiere tu módulo Wallet, crea instancias de billetera y demuestra ambas operaciones funcionando juntas.

Recibirás tres entradas:

  1. Cantidad en la primera billetera
  2. Cantidad en la segunda billetera
  3. Cantidad en la tercera billetera

En tu archivo principal, crea tres billeteras con las cantidades dadas. Luego:

  1. Suma la primera y la segunda billetera para crear una billetera combinada
  2. Imprime la cantidad de la billetera combinada
  3. Compara la billetera combinada con la tercera billetera usando <code>< e imprime el resultado (true o false)
  4. Compara la billetera combinada con la tercera billetera usando e imprime el resultado (true o false)

Por ejemplo, si las entradas son 50, 30 y 100, la salida debería ser:

80
true
false

La primera billetera (50) más la segunda billetera (30) crea una billetera combinada con 80. Dado que 80 es menor que 100, la primera comparación es true. Dado que 80 no es mayor que 100, la segunda comparación es false.

Pruébalo tú mismo

local Wallet = require('Wallet')

-- Leer entrada
local amount1 = tonumber(io.read())
local amount2 = tonumber(io.read())
local amount3 = tonumber(io.read())

-- TODO: Crear tres carteras con los montos dados

-- TODO: Sumar la primera y la segunda cartera para crear una cartera combinada

-- TODO: Imprimir el monto de la cartera combinada

-- TODO: Comparar la cartera combinada con la tercera cartera usando < e imprimir el resultado

-- TODO: Comparar la cartera combinada con la tercera cartera usando > e imprimir el resultado

Todas las lecciones de Object Oriented Programming