【发布时间】:2014-06-12 06:17:43
【问题描述】:
Play Framework 的 (2.x) Form class 有一个名为 fold 的方法,其用法表示为:
anyForm.bindFromRequest().fold(
f => redisplayForm(f),
t => handleValidFormSubmission(t)
)
本质上,第一个函数参数是绑定失败时执行的,第二个是绑定成功时执行的。在我看来,它类似于 jquery ajax 函数的“成功”和“错误”回调。
我的问题是为什么 Play 开发人员将方法称为“折叠”?作为免责声明,我是 Scala 的新手,但我看不到这与功能性 Scala fold 操作之间的联系。唯一的相似之处是它是一个高阶函数;但我没有看到任何正在发生的组合,也没有在内部将其实现委托给任何 Scala 折叠函数。
【问题讨论】:
标签: scala functional-programming playframework-2.0