播放Framework的(2.X)Form class有一個名爲fold
方法誰的用法表示爲:玩框架表「倍」的方法命名理由
anyForm.bindFromRequest().fold(
f => redisplayForm(f),
t => handleValidFormSubmission(t)
)
從本質上講,第一個函數參數是什麼大幹快上結合執行失敗,並在綁定成功的第二。對我來說,它似乎類似於jQuery的ajax函數的'成功'和'錯誤'回調。
我的問題是爲什麼Play開發人員稱這種方法爲「摺疊」?作爲一個免責聲明,我是Scala的新手,但是我無法看到它和Scala的功能之間的聯繫。唯一的相似之處在於它是一個更高階的函數;但我沒有看到正在發生的任何組合,也沒有將它的實現委託給Scala摺疊函數。