我是Haskell的新手。 让我说我的程序想要根据这种输入模式计算一些东西:
a1 b1 c1
a2 b2 c2
...
16 b6 c6
输入包含6行,每行包含3个数字 我希望将数据作为[(整数,整数,整数)],但在进行计算之前将列表的长度限制为仅为6。
我怎么能这样做?另外,我如何从[(整数,整数,整数)]
获得长度感谢您的帮助
答案 0 :(得分:6)
这有三个步骤:
下面是一些示例代码:
input = do
lines <- sequence $ take 6 $ repeat readLn
let table = words <$> lines
return [(a, b, c) | [a,b,c] <- table]
这会给input :: IO [(String, String, String)]
,但我相信你可以修改它以给你你想要的东西。