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

时间:2016-04-18 07:12:26

标签: ocaml

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

例如,如果我有[1;2;3],我怎样才能得到前两个元素,在本例中为1和2,所以我可以对它们应用数学运算?

感觉它应该是h1::h2::t但不确定

2 个答案:

答案 0 :(得分:1)

好的,所以这里有一个想法,如果你想返回列表的头部,你可以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

当然,这是更好的方法,但这是有效的。

答案 1 :(得分:1)

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

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