haskell使用额外信息解析数据结构

时间:2013-01-03 10:07:42

标签: parsing haskell return-value

我从解析中提取额外信息时遇到问题。

我有自己的数据结构来解析,并且工作正常。我为我的数据结构编写了解析器Parse MyDataStructure,它解析了有关MyDataStructure的所有信息。

问题是,在我正在解析的字符串中,与MyDataStructure混合,还有一些关于我应该如何处理MyDataStructure的信息,这当然不属于MyDataStructure },即我无法将此信息存储在MyDataStructure

现在的问题是我不知道如何存储这些信息,因为在Haskell中我无法更改某些全局变量来存储信息,并且我的解析器的返回值已经是MyDataStructure

有没有办法可以以某种方式存储这些新信息,而无需更改MyDataStructure,即包含存储额外信息的字段(但额外信息不属于MyDataStructure,所以我真的很喜欢避免这样做?)

我希望我已经足够清楚。

1 个答案:

答案 0 :(得分:2)

正如@ 9000所说,你可以使用一个元组。如果您发现自己需要通过许多功能,使用State Monad可能会使事情变得更容易。