Ellen Spertus
02/17/2020, 9:20 PM// 1
fun calculateHour(h: Int, period: String?): Int =
period?.let {
when(it) {
"am" -> if (h == HOURS_PER_PERIOD) 0 else h
"pm" -> (h % HOURS_PER_PERIOD) + HOURS_PER_PERIOD
else -> h // should not happen
}
} ?: h
}
// 2
fun calculateHour(h: Int, period: String?): Int =
if (period == null) {
h
} else when (period) {
"am" -> if (h == HOURS_PER_PERIOD) 0 else h
"pm" -> (h % HOURS_PER_PERIOD) + HOURS_PER_PERIOD
else -> h // should not happen
}
}
Shawn
02/17/2020, 9:24 PMwhen (period) {
null -> h
<http://Period.AM|Period.AM> -> if (h == HOURS_PER_PERIOD) 0 else h
<http://Period.PM|Period.PM> -> (h % HOURS_PER_PERIOD) + HOURS_PER_PERIOD
}
Shawn
02/17/2020, 9:24 PMEllen Spertus
02/17/2020, 10:18 PMnull
could be a when
value. Thank you.Shawn
02/17/2020, 10:19 PMPeriod
an enum (or sealed class technically but you probably don’t need one to denote AM/PM)Shawn
02/17/2020, 10:19 PMelse
Ellen Spertus
02/17/2020, 10:19 PMcodeslubber
02/19/2020, 7:00 PM