我如何使用"标签" OCaml中的List.nth版本?

时间:2014-04-28 14:44:57

标签: ocaml

所以基本上我正在编写一些像这样的OCaml代码:

let p_op p =
Show.show<op> p
|> Str.split (Str.regexp " +")
|> List.nth items 1           (items is the result of Str.split)
|> String.lowercase

所以问题是我如何隐式地将Str.split的结果传递给List.nth?

如果我知道label的{​​{1}},那么我想我可以这样做,

List.nth

但基本上我没有使用List.nth ~num:1 ,我只是不知道如何获得Core的{​​{1}} 有人能给我一些帮助吗?

那么我可能需要自己用标签包装label吗?

1 个答案:

答案 0 :(得分:4)

显而易见的地方是ListLabels。但无论出于何种原因,ListLabels.nth的参数都没有被标记!

您可以使用flip

let flip f x y = f y x

... |> flip List.nth 1 |> ...

翻转在OCaml电池中定义,包括BatPervasives.flip(以及核心版)。