组合数据类型haskell

时间:2015-05-24 08:56:27

标签: haskell types

所以,我有这个功能:

solve x y = do
            ...
            return (newx,y++[1])

其中x和newx是[[Int]],y是[Int]。 有了这个功能,我将返回一个“值”。现在,我想知道如何“处理”这个值,以便提取2个组件并单独使用它们。

这样的事情:

a <- solve x y
b <- a[0]
c <- a[1]

1 个答案:

答案 0 :(得分:4)

return将它包装成一些monad时,你可以通过直接在do块中解构它来到达这些部分:

do
    (b,c) <- solve x y