/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/lua/lua-515-171-021/main.lua
46 строк
971 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
local ReportGenerator = {} function ReportGenerator:new() local gen = setmetatable({}, {__index = self}) return gen end function ReportGenerator:generate(report) report:start() report:render() report:endReport() end local TextReport = {} setmetatable(TextReport, {__index = ReportGenerator}) function TextReport:start() print("--- Начало текстового отчета ---") end function TextReport:render() print("Текст отчета") end function TextReport:endReport() print("--- Конец текстового отчета ---") end local PDFReport = {} setmetatable(PDFReport, {__index = ReportGenerator}) function PDFReport:start() print("[PDF] Старт") end function PDFReport:render() print("[PDF] report body") end function PDFReport:endReport() print("[PDF] Финиш") end local generator = ReportGenerator:new() generator:generate(TextReport:new()) generator:generate(PDFReport:new())