勉強中です。これは私が奇妙だと思ったものです:
let test_treeways x = match x with
| _ when x < 0 -> -1
| _ when x > 0 -> 1
| _ -> 0;;
次に、次のように呼び出す場合:
test_threeways -10;;
型の不一致エラーが発生します(私が理解している限り、単項マイナスを部分関数適用であるかのように解釈するため、式の型は と見なされますint -> int
。ただし、これは:
test_threeways (-10);;
期待どおりに動作します(これは実際に値を計算しますが、理解できるように、定数「マイナス10」を関数に渡しません.
では、OCaml で定数の負の数をどのように記述しますか?