背景
我正在尝试帮助 StackOverflow 中的某个人解决有关 Futures、Maybes 和 Eithers 的问题。我的第一种方法是有一个简单的函数来接受 aMaybe
并计算一些东西。
代码
我正在使用 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 类型)没有?
我究竟做错了什么?