Menu
Coddy logo textTech

Configuración del proyecto

Parte de la sección Programación Orientada a Objetos del Journey de Lua de Coddy. Lección 19 de 70.

challenge icon

Desafío

Fácil

Estamos comenzando el proyecto Digital Bank. En las próximas lecciones crearás una clase Account que pueda recibir depósitos, gestionar retiros, imprimirse a sí misma y transferir dinero a otras cuentas. Todo comienza con una estructura de archivos limpia y un constructor.

Tus dos archivos:

  • Account.lua: define la tabla Account, establece Account.__index = Account para que las instancias encuentren sus métodos y escribe el constructor :new(). Este crea una tabla vacía, establece su metatabla en Account, le asigna un balance de 0 y la devuelve. El archivo termina con return Account.
  • main.lua: requiere el módulo con require('Account'), crea dos cuentas con Account:new(), imprime el saldo de cada una en su propia línea y después imprime savings == checking para mostrar que las dos llamadas produjeron dos tablas diferentes.

Salida esperada:

0
0
false

Cada cuenta comienza en cero. En la próxima lección añadirás el método :deposit(amount) que hace que el saldo aumente.

Pruébalo tú mismo

-- TODO: require el módulo Account (el archivo es Account.lua)
local Account = nil

-- TODO: crea dos cuentas con Account:new()

-- TODO: imprime el saldo de cada cuenta (uno por línea)

-- TODO: imprime si las dos cuentas son la misma tabla (no deberían serlo)

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Lua online