Sha256: a71904333b44ad61c95bde4c9ad19963082b425f1a0a2f72cad9877e309fd77c
Contents?: true
Size: 702 Bytes
Versions: 171
Compression:
Stored size: 702 Bytes
Contents
use std::fmt; #[derive(Eq,PartialEq,Debug)] pub struct Clock { minutes: i32 } impl fmt::Display for Clock { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { let hours = self.minutes / 60; let mins = self.minutes % 60; write!(f, "{:02}:{:02}", hours, mins) } } impl Clock { pub fn new(hour: i32, minute: i32) -> Self { Clock::build(hour * 60 + minute) } fn build(minutes: i32) -> Self { let mut mins = minutes; while mins < 0 { mins += 1440; } Clock { minutes: mins % 1440 } } pub fn add_minutes(&mut self, minutes: i32) -> Self { Clock::build(self.minutes + minutes) } }
Version data entries
171 entries across 171 versions & 1 rubygems