在匹配表达式中调用 2 个或更多函数

Call 2 or more functions inside a match expression

我是 OCaml 的初学者。我很想知道从语法上讲,如何在匹配表达式中调用两个或更多函数。或者这可能吗?

例如:

let rec foo l:list = 
  match l with
  | [x,y] -> (foo1 x) (foo2 y)
  | _ -> doSome

我试过使用 ; 运算符,但它似乎用于其他用途。我尝试了不同的包围组合,但在所有情况下我都得到了 这不是foo1 x下无法应用的功能

你只需要一个分号(没有begin/end)。您不需要括号(它们不会造成伤害,但它们并不是特别惯用的 OCaml)。

let rec foo l : 'a list = match l with
| [x,y] -> foo1 x; foo2 y
| _ -> doSome