0
空のリストではないList.max_elt
の結果をアンラッピングしようとしていましたが、これは常に存在するはずですから、Option.value_exn
が正しいツールだと思いました。しかし、それは奇妙なエラーで失敗します: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
誰にでも私にこのエラーを説明できますか?
私はOCaml 4.05.0と最新のCoreライブラリを使用しています。