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 |