2 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個贊
我聽到的故事是,當(dāng)其中一位杰出的Scala程序員開始編寫如下代碼時,他們正在結(jié)對配對:
option match {
case Some ...
對方在這時說:“這是什么?業(yè)余時間?該死的平面圖!”
至于什么功能如此強(qiáng)大flatMap,那么……首先,它是基本的單子運(yùn)算符。這意味著它是一種常見的操作,例如,由容器(如Option,集合等),延續(xù),狀態(tài)等共享。其次,雖然您可以解構(gòu)一個,但與之Option相反flatMap,它不是一元運(yùn)算,因此無法廣泛應(yīng)用。此外,它還需要有關(guān)您正在處理的數(shù)據(jù)的太多知識。
注意:之前我說過匹配速度慢flatMap-事實(shí)上,事實(shí)恰恰相反,直到撰寫本文時最新版本的Scala 2.10.1。)

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個贊
至關(guān)重要的flatMap是,它是Scala對Monadic綁定操作的表示。網(wǎng)絡(luò)上有許多教程,它們解釋了monad的用途以及它們?yōu)槭裁慈绱擞杏玫脑?。詹姆斯·伊里(James Iry)有一個細(xì)節(jié)。
- 2 回答
- 0 關(guān)注
- 451 瀏覽
添加回答
舉報