【发布时间】:2011-12-15 09:39:19
【问题描述】:
所以我有一个类似的数据类型:
data Token = NUM Int | ID String | EOF
我有一个类似的函数:
doStuff list = let
(token, rest) = getToken list
in
....
所以我想在... 部分做的是测试我得到的令牌是NUM 或INT 还是EOF。我可以说token==EOF 来测试这种情况,但我无法找到一种方法来使用条件测试令牌是NUM 还是INT,因为token==(NUM n) 和token==NUM 都导致错误。我知道我可以编写一个辅助函数来完成... 中的内容并利用模式匹配,但这确实损害了我正在做的事情的可读性,而且似乎应该有办法做到这一点查看。有人知道怎么做吗?
【问题讨论】:
标签: haskell types typechecking