2017-04-10 136 views
1

有没有办法做到这一点?我正在编写一个小程序,用于读取表格c1234501 10 20 10 30 30中的学生列表,并在开始时通过字符串进行搜索,并显示它后面的平均值。Haskell - 将字符串列表拆分为表单元组(String,[Int])

我目前正在读的文件中,并通过下面的代码它分裂成一个字符串列表:

main = do 
    putStrLn "Filename?" 
    fileName <- getLine 
    inputFile <- openFile fileName ReadMode 
    contents <- hGetContents inputFile 
    let lineList = lines contents 
    let studentStrings = tail lineList 

不过,我正在与最后一行的错误,说我有String和IO String之间的类型不匹配。

我也不知道如何编写一个函数来将字符串列表转换为形式的元组(String,[Int])。我确信这是我唯一的问题。我想我可以自己解决剩下的问题。

回答

2

我不会给你代码,因为你应该可以在你自己给出一点方向的情况下解决这个问题。你应该研究的一些功能(例如hoogle)包括words用于将空白的String分割成String的列表,read用于将String转换为(在你的情况下)Int。您需要查看fmapmap以了解如何将函数应用于列表中的每个元素。最后,请重新输入StringIO String之间的类型不匹配,您需要purereturn - 这些用于获得m a给定的a

+0

这实际上有助于很多谢谢你! – Adam