簡體   English   中英

簡單地使用Maybe funtion時出錯

[英]Error with simply Maybe funtion

背景

我正在嘗試幫助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不是函數

至少我很困惑。 我知道也許是Monad,Monads是Functors。 每個Functor必須有一個map方法,但不知怎的,Maybe.Just(這是一個Maybe類型)不是嗎?

我究竟做錯了什么?

Maybe是一個S.map函數,附有一個fantasy-land/map ,並使用S.map消耗它。 此外,你構建一個Just使用S.JustS.of (S.Maybe)

const S = require("sanctuary");

const transform = S.pipe ([ S.trim, S.toUpper ])

const maybeTransformed = S.map (transform) (S.Just (['hello', ' world!']))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM