我不确定如何使用setPosition
(Parsec 库)。这是一段非常简单的代码,它应该读取文本第二行的前 3 个字符。
import Text.ParserCombinators.Parsec
content = ["This is the first line",
"and this is the second one",
"not to talk about the third one"]
txt = unlines content
main = parseTest myPar txt
myPar = getPosition >>= \oldPos ->
let newPos = setSourceLine oldPos 2 in
setPosition newPos >>
count 3 anyChar
尽管如此,输出是“Thi”而不是“and”,正如我所期望的那样......我觉得我错过了一些非常简单的东西,但是唉,我不知道是什么;你能帮助我吗?