Haskell将Int字符串解析为元组(Int,Int)

时间:2017-11-13 14:37:50

标签: parsing haskell tuples

我想在表格3 3中解析一个从输入用户到元组(3,3)的字符串这可能吗?

stringtup :: String -> Maybe (Int, Int)
stringtup s = do
[(n, [c])] <- return $ reads s
return (n, c)

这是我的尝试,但它不起作用..

1 个答案:

答案 0 :(得分:2)

reads仅解析一个值(如果可能),并将其返回以及输入字符串的其余部分。所以,

    [(n, _)] <- return $ reads s
对于"3 3"确实有n≡3

有效

但另一个号码仍然需要解析。所以你实际做的是先绑定像

这样的东西
    [(n, s')] <- return $ reads s

然后从s'以相同的方式解析另一个数字。