1

我无法从解析中提取额外信息。

我有自己的数据结构要解析,而且效果很好。我为我的数据结构编写了解析器,Parse MyDataStructure它解析所有关于MyDataStructure.

问题是在我正在解析的字符串中,与 混合MyDataStructure,还有一些关于我应该做什么MyDataStructure的信息当然不是 的一部分MyDataStructure,即我无法将这些信息存储在 里面MyDataStructure

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

有没有一种方法可以在不更改的情况下以某种方式存储这些新信息,MyDataStructure即包括存储额外信息的字段(但额外信息不是其中的一部分,MyDataStructure所以我真的很想避免这样做)?

我希望我已经足够清楚了。

4

1 回答 1

2

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

于 2013-01-03T11:53:12.990 回答