小编Dev*_*ect的帖子

de sugaring做符号

我想用以下的符号表示糖.但我不确定我是否做得对:

方法是:

quote   = do
    time        <- qtime
    qcomma
    ask         <- double
    qcomma
    bid         <- double
    qcomma
    askVolume   <- double
    qcomma
    bidVolume   <- double
    endOfLine
    return $ Quote time ask bid askVolume bidVolume
Run Code Online (Sandbox Code Playgroud)

quote   = Quote <$> (qtime <* qcomma)
                <*> (double <* qcomma)
                <*> (double <* qcomma)
                <*> (double <* qcomma)
                <*> (double <* endOfLine)
Run Code Online (Sandbox Code Playgroud)

相当于:

qtime >>= (\time -> qcomma) 
    >> double 
        >>= (\ ask -> qcomma)  
            >> double  
                >>= (\bid -> qcomma) 
                    >> double
                        >>= (\askVolume …
Run Code Online (Sandbox Code Playgroud)

haskell do-notation applicative

1
推荐指数
1
解决办法
90
查看次数

标签 统计

applicative ×1

do-notation ×1

haskell ×1