[英]String to list of tuples from file in Haskell
我目前正在从具有随机大小的元组列表的输入文件中读取数据,我试图将传入数据作为列表获取,但是无论何时,只要我尝试将其解析为字符串以外的其他内容,我都会收到错误消息。 输入文件如下所示:
[(2, 2), (2, 3), (3, 2), (3, 3)]
要么
[(4, 2), (5, 2), (6, 2)]
我能够按以下方式处理输入:
handle <- openFile "test.txt" ReadMode
coord <- hGetLine handle
let alive = coord
print alive
但是,这会生成一个简单的字符串。
任何帮助,将不胜感激!
正如dsemi所指出的,我需要使用read coord :: [(Int, Int)]
。 谢谢您的帮助
这样的事情可以正常工作:
import Control.Applicative ((<$>))
import System.IO
main :: IO ()
main = do
handle <- openFile "test.txt" ReadMode
cords <- map read <$> lines <$> hGetContents handle :: IO [(Int, Int)]
putStrLn $ show cords
return ()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.