我听到的故事是,当其中一位杰出的Scala程序员开始编写如下代码时,他们正在结对配对:option match { case Some ...对方在这时说:“这是什么?业余时间?该死的平面图!”至于什么功能如此强大flatMap,那么……首先,它是基本的单子运算符。这意味着它是一种常见的操作,例如,由容器(如Option,集合等),延续,状态等共享。其次,虽然您可以解构一个,但与之Option相反flatMap,它不是一元运算,因此无法广泛应用。此外,它还需要有关您正在处理的数据的太多知识。注意:之前我说过匹配速度慢flatMap-事实上,事实恰恰相反,直到撰写本文时最新版本的Scala 2.10.1。)