Mode:
Duration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
object MapFoldCounter {
var count = 0
var isDark = false
def updateUI(): Unit = println(s"Counter: $count, Theme: ${if(isDark) "Dark" else "Light"}")
def main(args: Array[String]): Unit = {
val actions = List("inc", "inc", "toggle", "dec", "reset")
actions.foldLeft(()) { (_, action) =>
action match {
case "inc" => count +=1
case "dec" => count -=1
case "toggle" => isDark = !isDark
case "reset" => count = 0
}; updateUI()
}
}
}
MapFoldCounter.main(Array())Coding works best on desktop or with an external keyboard.