【发布时间】:2019-01-06 11:26:34
【问题描述】:
背景
我正在尝试帮助 StackOverflow 中的某个人解决有关 Futures、Maybes 和 Eithers 的问题。我的第一种方法是有一个简单的函数,它接受 Maybe 并计算一些东西。
代码
我正在使用 Sanctuary,但这相当于 Ramda 或任何其他库。
const S = require("sanctuary");
const transform = S.map(
S.pipe( [ S.trim, S.toUpper ] )
);
S.Maybe.Just( [" heello", " world!"] )
.map( transform )
问题
问题是这个简单的函数失败并出现错误:
TypeError: S.Maybe.Just(...).map 不是函数
问题
至少可以说我很困惑。我知道 Maybe 是 Monad,而 Monads 是 Functor。每个 Functor 都必须有一个 map 方法,但不知何故 Maybe.Just (这是一个 Maybe 类型)没有?
我做错了什么?
【问题讨论】:
标签: javascript functional-programming monads maybe sanctuary