gpt4 book ai didi

haskell - 测试 Haskell 变量是否匹配用户定义的数据类型选项

转载 作者:行者123 更新时间:2023-12-04 16:26:20 27 4
gpt4 key购买 nike

所以我有一个类似的数据类型:

data Token = NUM Int | ID String | EOF

我有一个类似的功能:
doStuff list = let
(token, rest) = getToken list
in
....

那么我想在 ...中做什么部分是测试我得到的 token 是否是 NUMINTEOF .我可以说 token==EOF测试这种情况,但我想不出一种方法来测试 token 是否是 NUMINT使用条件,因为 token==(NUM n)token==NUM两者都会导致错误。我知道我可以编写一个辅助函数来完成 ... 中的内容。并利用模式匹配,但这确实损害了我正在做的事情的可读性,似乎应该有一种方法来进行此检查。有谁知道怎么做?

最佳答案

你想要一个 case表达式,例如:

case token of
NUM n -> foo n
ID s -> bar s
_ -> hoho

如果您单独定义一个函数,这与您将获得的模式匹配类型相同。

关于haskell - 测试 Haskell 变量是否匹配用户定义的数据类型选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7897559/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com