/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/lua/lua-515-171-028/main.lua
30 строк
983 B
Spirzen
OOP
09 июн 2026, 20:58
09 июн 2026, 20:58
1dca232
Код
Авторство
О чём код?
local Car = {SERVICE_INTERVAL = 15000, FUEL_PER_KM = 0.1} function Car:new(brand) local obj = setmetatable({brand = brand, fuel = 40.0, mileage = 0}, {__index = self}) return obj end function Car:refuel(liters) self.fuel = self.fuel + liters print(string.format("Заправка: +%.0f л. Топливо: %.1f л", liters, self.fuel)) end function Car:drive(km) local needed = km * self.FUEL_PER_KM if needed > self.fuel then print("Ошибка: недостаточно топлива") return end self.fuel = self.fuel - needed self.mileage = self.mileage + km print(string.format("Проехали %d км. Топливо: %.1f л. Пробег: %d км", km, self.fuel, self.mileage)) if self.mileage >= self.SERVICE_INTERVAL then print("⚠️ ВНИМАНИЕ: требуется техобслуживание!") end end local car = Car:new("Lada") car:refuel(10) car:drive(5000) car:drive(11000)