【发布时间】:2015-03-09 13:47:33
【问题描述】:
在 monads.maybe on npm 的示例中,我们有:
function find(collection, predicate) {
for (var i = 0; i < collection.length; ++i) {
var item = collection[i]
if (predicate(item)) return Maybe.Just(item)
}
return Maybe.Nothing()
}
有人能解释一下Maybe.Just(item); 和Maybe.Nothing() 到底在做什么吗?
换一种说法; monad 本质上是用作实现特定接口的返回值的对象,这些接口可以定义一系列函数调用吗?
【问题讨论】:
-
Have you read this stuff? 我认为这仅在该系统的上下文中才有意义。
-
你自己当然知道了,但也许 monad 只是定义了函数组合在可能不返回结果的计算上下文中的含义。或更笼统地说:Monad 定义了不同计算上下文中组合的语义。
标签: javascript monads