请注意,我已经阅读了这篇post,但是post使用了一个switch语句,并且当模式匹配时,它应该做一些事情(返回true)。另一方面,如果模式匹配,我不想做任何事情,并使用if-case语句。因为.b有一个关联值,所以我不能简单地使用if语句检查: if myEnum != .b { // compiler error} 所以我必须使用if-case语句来进行模式匹配: if c
我正在尝试为不同类型的语句编写一个haskell interpeter。一个这样的语句就是switch语句。到目前为止,我已经完成了以下操作,但是我被卡住了,并且不断收到case表达式中(_ -> if length )行的冗余模式匹配警告。如果第一个case表达式是正确的,则它通过了测试,但如果不是,则测试将失败。感谢您的帮助,谢谢 interpret :: Program -> Memory -> Either Err Memo