Success的flatMap方法是这样实现的:
def flatMap[U](f: T => Try[U]): Try[U] = try f(value) catch { case NonFatal(e) => Failure(e) }
我很明白这个方法正在做什么,这有助于我们避免编写大量的代码.
但是在什么意义上它与普通的flatMap相似?
普通的平面图采用一系列序列,并将所有元素放入一个大的“平面”序列中.
但是Try的flatMap方法并不是真的平坦无遗.
那么,如何理解平面图的方法呢?