【发布时间】:2017-11-14 15:55:19
【问题描述】:
我有一个格式为:
3
1 2
3 4
5 7
其中第一行是行数
我知道:
getInt :: IO Int
getInt = readLn
main = do num <- getInt
print (num)
读取第一行。
接下来,我尝试了:
readInts :: IO [Int]
readInts = fmap (map read.words) getLine
读取一行并获取一个列表:[a,b]。
我尝试在递归循环中使用上述内容
loop :: Int -> IO()
loop n = if 1 == n then do num <- readInts
print(num)
else loop (n-1)
我只得到第一行:
[5,3]
但是我需要阅读其余的行,给定 N
【问题讨论】:
-
remainingLines <- replicateM num getLine为您获取剩余行的[String]。 -
我投票以“不清楚你在问什么”结束。如果您尝试过某事但失败了,您需要告诉我们。什么都不做,先来这里......好吧,这不是这个网站的运作方式。
-
@DanielWagner 我投票支持社区支持我改进我的问题...代替空洞的批评
-
@Alec 谢谢,这对我有用。我使用了
remainingLines <- replicateM num readInts,其中:readInts :: IO [Int] readInts = fmap (map read.words) getLine