- What would be the proper effect to represent getting each of the following:
- The first element of some List: Option[?] with None representing an empty list does not have a head element
- A list of tweets: Future[List[Tweet]] as the operation will probably take some time as it goes over the network
- User information from the database for a given userId: Future[Option[?]] with Future denoting the network call and Option denoting no user account for a given userId
- What is a range of possible values of the following expression: Option(scala.util.Random.nextInt(10)).fold(9)(_-1)
An inclusive [-1;9]
- What will be the result of the following expression:
Try[Int](throw new OutOfMemoryError()).filter(_ > 10).recover {
case _: OutOfMemoryError => 100
}(20)
The Try constructor will not catch an OutOfMemoryError, hence the given expression will throw the OutOfMemoryError...