/
asmody
/
exercism
Обзор
Документация
Войти
/
asmody
/
exercism
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
rust/clock/src/lib.rs
38 строк
963 B
Victor Asmody Sakhnov
с домашнего
21 дек 2024, 18:25
21 дек 2024, 18:25
ac11a41
Код
Авторство
О чём код?
use std::fmt; #[derive(Debug, PartialEq)] pub struct Clock { total_minutes: i32, } impl Clock { pub fn new(hours: i32, minutes: i32) -> Self { let total_minutes: i32 = (hours * 60 + minutes) % 1440; if total_minutes < 0 { Clock { total_minutes: total_minutes + 1440, } } else { Clock { total_minutes } } } pub fn add_minutes(&self, minutes: i32) -> Self { let total_minutes: i32 = (self.total_minutes + minutes) % 1440; if total_minutes < 0 { Clock { total_minutes: total_minutes + 1440, } } else { Clock { total_minutes } } } } impl fmt::Display for Clock { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let hours = self.total_minutes / 60; let minutes = self.total_minutes % 60; write!(f, "{:02}:{:02}", hours, minutes) } }