我想在表格3 3中解析一个从输入用户到元组(3,3)的字符串这可能吗?
stringtup :: String -> Maybe (Int, Int)
stringtup s = do
[(n, [c])] <- return $ reads s
return (n, c)
这是我的尝试,但它不起作用..
答案 0 :(得分:2)
reads
仅解析一个值(如果可能),并将其返回以及输入字符串的其余部分。所以,
[(n, _)] <- return $ reads s
对于"3 3"
确实有n≡3
,有效
但另一个号码仍然需要解析。所以你实际做的是先绑定像
这样的东西 [(n, s')] <- return $ reads s
然后从s'
以相同的方式解析另一个数字。