我在学。这是我觉得奇怪的事情:
let test_treeways x = match x with
| _ when x < 0 -> -1
| _ when x > 0 -> 1
| _ -> 0;;
如果我这样称呼它:
test_threeways -10;;
我会得到类型不匹配错误(因为据我了解,它将一元减号解释为好像它是部分函数应用程序,所以它认为表达式的类型是int -> int
。但是,这是:
test_threeways (-10);;
正如预期的那样(尽管这实际上计算了值,据我所知,它不会将常数“减十”传递给函数。
那么,如何在 OCaml 中编写常量负数呢?