yeah surely he's just generally referring to using something like strategy pattern. conditionals of some sort are unavoidable
Code:
val highValueStrategy = { num: Int -> println("high number is $num") }
val lowValueStrategy = { num: Int -> println("low number is $num") }
object UserInputStrategyFactory {
fun getStrategy(value: Int) = when {
value > 10 -> highValueStrategy
else -> lowValueStrategy
}
}
fun getUserInput() = (9..11).random()
fun main() {
val input = getUserInput()
val strategy = UserInputStrategyFactory.getStrategy(input)
strategy.invoke(input)
}