简单的 Maybe 函数出错
Error with simply Maybe funtion
背景
我正在尝试帮助 Whosebug 中的某个人解决有关 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 is not a function
问题
至少可以说我很困惑。我知道 Maybe 是一个 Monad,而 Monad 是 Functor。每个 Functor 都必须有一个 map
方法,但是不知何故 Maybe.Just (这是一个 Maybe 类型)没有?
我做错了什么?
Maybe
是一个仿函数并附加了一个 fantasy-land/map
,它使用 S.map
消耗。此外,您使用 S.Just
或 S.of (S.Maybe)
:
构建 Just
const S = require("sanctuary");
const transform = S.pipe ([ S.trim, S.toUpper ])
const maybeTransformed = S.map (transform) (S.Just (['hello', ' world!']))
背景
我正在尝试帮助 Whosebug 中的某个人解决有关 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 is not a function
问题
至少可以说我很困惑。我知道 Maybe 是一个 Monad,而 Monad 是 Functor。每个 Functor 都必须有一个 map
方法,但是不知何故 Maybe.Just (这是一个 Maybe 类型)没有?
我做错了什么?
Maybe
是一个仿函数并附加了一个 fantasy-land/map
,它使用 S.map
消耗。此外,您使用 S.Just
或 S.of (S.Maybe)
:
Just
const S = require("sanctuary");
const transform = S.pipe ([ S.trim, S.toUpper ])
const maybeTransformed = S.map (transform) (S.Just (['hello', ' world!']))