View difference between Paste ID: WvM1TmUQ and twtH6a5G
SHOW: | | - or go back to the newest paste.
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).map(a => safeDivide(3, a))
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