标签: design-patterns ocaml matching
我正在进行模式匹配,并且我一直收到错误,说表达式是预期类型'列表。那是为什么?
答案 0 :(得分:3)
如果ocaml期望表达式具有某种类型,那是因为您正在对该表达式执行某些操作,该操作仅适用于该类型。因此,在这种情况下,您可能使用列表模式(即构造函数::和nil或列表文字,如[x,y,z])对表达式进行模式匹配。
::
nil
[x,y,z]
如果您尝试使用不评估列表的表达式,那当然是错误,这是错误消息告诉您的。