Advertisement
Guest User

Untitled

a guest
Sep 9th, 2014
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // requires scalaz for Option to have map and flatmap
  2.  
  3. def safeDivide(a: Double, b: Double): Option[Double] = b match {
  4.   case 0 => None
  5.   case _ => Some(a / b)
  6. }
  7.  
  8. def example1 = safeDivide(5, 9).flatMap(a => safeDivide(3, a))
  9.  
  10. def example2 = for {
  11.   a <- safeDivide(5, 9)
  12.   b <- safeDivide(3, a)
  13. } yield b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement