Ich habe versucht, das Ergebnis List.max_elt
einer nicht leeren Liste auszupacken, die immer vorhanden sein sollte, also dachte ich Option.value_exn
wäre das richtige Werkzeug. Aber es schlägt mit einem seltsamen Fehler fehl:Fehler bei Verwendung von Option.value_exn
# List.range 0 10 |> List.max_elt ~cmp:compare;;
- : int option = Some 9
# Option.value_exn (Some 9);;
- : int = 9
# List.range 0 10 |> List.max_elt ~cmp:compare |> Option.value_exn;;
Error: This expression has type
?here:Lexing.position ->
?error:Base.Error.t -> ?message:string -> 'a Base.option -> 'a
but an expression was expected of type int option -> 'b
Kann mir jemand diesen Fehler erklären?
Ich benutze OCaml 4.05.0 und die neueste Core-Bibliothek.