-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Open
Description
100-exercises-to-learn-rust/exercises/06_ticket_management/01_arrays/src/lib.rs
Lines 7 to 15 in d347d1f
| pub enum Weekday { | |
| Monday, | |
| Tuesday, | |
| Wednesday, | |
| Thursday, | |
| Friday, | |
| Saturday, | |
| Sunday, | |
| } |
All variants in the enum are unit-only. According to enum casting, its discriminant can be directly accessed with a numeric cast.
So, instead of
100-exercises-to-learn-rust/exercises/06_ticket_management/01_arrays/src/lib.rs
Lines 24 to 33 in d347d1f
| pub fn get_temperature(&self, day: Weekday) -> Option<i32> { | |
| let index = weekday2index(&day); | |
| self.temperatures[index] | |
| } | |
| pub fn set_temperature(&mut self, day: Weekday, temperature: i32) { | |
| let index = weekday2index(&day); | |
| self.temperatures[index] = Some(temperature); | |
| } | |
| } |
a simplified version can be used:
pub fn get_temperature(&self, day: Weekday) -> Option<i32> {
self.temperatures[day as usize]
}
pub fn set_temperature(&mut self, day: Weekday, temperature: i32) {
self.temperatures[day as usize] = Some(temperature);
}Metadata
Metadata
Assignees
Labels
No labels