私はpurescript wikido
を読んでいて、次のセクションを見つけまし>>=
た.
とは>>=
どういう意味ですか?
Do表記
do キーワードは、モナド式の単純な構文糖衣を導入します。
Maybe
型にモナドを使用した例を次に示します。maybeSum :: Maybe Number -> Maybe Number -> Maybe Number maybeSum a b = do n <- a m <- b let result = n + m return result
maybeSum
タイプの 2 つの値を取りMaybe Number
、どちらの数値も でない場合はそれらの合計を返しますNothing
。do 表記を使用する場合、戻り値の型に対応する Monad 型クラスのインスタンスが存在する必要があります。ステートメントの形式は次のとおりです。
a <- x
脱糖するx >>= \a -> ...
x
x >>= \_ -> ...
これが最後のステートメントである場合は、または単に xに脱糖します。- let バインディング
let a = x
。in
キーワードがないことに注意してください。例
maybeSum desugars to
::maybeSum a b = a >>= \n -> b >>= \m -> let result = n + m in return result