App 2: Handling Quit (Scala 3 Video)
The first thing to do in handleUserInput
is to handle the “quit” case. Basically all we have to do is call System.exit(0)
when we see that the user has typed the letter "q"
. However, because handleUserInput
returns Try[Unit]
, we need to wrap that call in a Try
, like this:
def handleUserInput(input: String): Try[Unit] = input match
case "q" =>
Try(System.exit(0)) // <== THE NEW CODE
// more cases here ...
Because System.exit
returns Unit
, this works as desired.
A Scala REPL tip
Note that you can use the Scala REPL’s :type
command to verify that System.exit
returns Unit
:
scala> :type System.exit(0)
Unit
So that’s all we have to do for the “Quit” use case.
Update: All of my new videos are now on
LearnScala.dev