如何将数学运算应用于列表OCaml中的顶级元素



如何获取列表的前两个元素?

例如,如果我有[1;2;3],我如何获得前两个元素,在本例中为1和2,以便对它们应用数学运算?

感觉应该是h1::h2::t附近的东西,但不确定

let hd2 lst =
  match lst with
  | [] -> []
  | [a] -> [a]
  | a::b::t-> [a; b]

这似乎很有效。但它可能会做得更好。

好的,这里有一个想法,如果你想返回列表的头部,你可以做List.hd list,假设list是你的列表。

如果你想返回列表的第二个元素,你可以做

List.hd (List.tl list)

示例:

let list = [1;2;3];;
List.hd list;;
- : int = 1
List.hd (List.tl list);;
- : int = 2

当然,这是更好的方法,但这对.

有效

最新更新