2
나는 파일의 내용을 얻고 형식의리스트로 변환하고 있습니다 : ReadFile을, 선, 단어IO 목록에서 조회 사용 하시겠습니까?
[("abc", 123), ("def", 456)]
.
지금 당장 결과 목록을 IO [(String, Int)]으로 변환 할 수 있습니다.
check x = lookup x theMap
내가 해결하는 방법을 너무 잘 모르겠어요이 오류를 얻을 :
Couldn't match expected type `[(a0, b0)]'
with actual type `IO [(String, Int)]'
In the second argument of `lookup', namely `theMap'
theMap이를 나는이 같은 함수를 만들려고 할 때
내 문제는, 기본적으로이 :
getLines :: String -> IO [String]
getLines = liftM lines . readFile
tuplify [x,y] = (x, read y :: Int)
theMap = do
list <- getLines "./test.txt"
let l = map tuplify (map words list)
return l
그리고 파일의 내용은 다음과 같습니다
abc 123
def 456
누구나 내가 뭘 잘못하고 있는지 설명하고 나에게 더 나은 해결책을 보여줄 수 있습니까? 나는 방금 몇 시간 전에 모나드를 가지고 놀기 시작했고 길을 따라 약간의 충돌을 겪고 있습니다.
감사
감사! 나는 이것을 알아야했다 :( – noko