Menu
Coddy logo textTech

Настройка проекта

Часть раздела Объектно-ориентированное программирование путешествия по Lua на Coddy. Урок 19 из 70.

challenge icon

Задание

Легко

Мы начинаем проект Digital Bank. В следующих уроках вы создадите класс Account, который сможет принимать депозиты, обрабатывать снятие средств, выводить себя и переводить деньги на другие счета. Всё начинается с аккуратной структуры файлов и конструктора.

Ваши two файла:

  • Account.lua: определите таблицу Account, задайте Account.__index = Account, чтобы instances находили свои methods, и напишите конструктор :new(). Он создаёт пустую таблицу, устанавливает для неё метатаблицу Account, задаёт ей balance равный 0 и возвращает её. file заканчивается строкой return Account.
  • main.lua: подключите module с помощью require('Account'), создайте two счета с помощью Account:new(), выведите balance каждого account в отдельной строке, затем выведите savings == checking, чтобы показать, что two вызова создали two different tables.

Ожидаемый вывод:

0
0
false

Каждый account начинается с нулевого значения. В следующем уроке вы добавите method :deposit(amount), который увеличивает balance.

Попробуйте сами

-- TODO: подключите модуль Account (файл — Account.lua)
local Account = nil

-- TODO: создайте два аккаунта с помощью Account:new()

-- TODO: выведите баланс каждого аккаунта (по одному на строку)

-- TODO: выведите, являются ли два аккаунта одной и той же таблицей (они не должны быть)

Все уроки раздела Объектно-ориентированное программирование

Потренируйтесь самостоятельно: Онлайн-компилятор Lua