我是OCaml noob。我想弄清楚如何处理传入函数的比较运算符。OCaml:使用传入函数的比较运算符
我的函数只是试图传入一个比较运算符(=,<,>等)和一个int。
let myFunction comparison x =
if (x (comparison) 10) then
10
else
x;;
我希望这个代码将评估为(如果 “=” 获得通过的):
if (x = 10) then
10
else
x;;
但是,这是行不通的。特别是,它认为x是一个布尔值,如此错误消息所证明的那样:
This expression has type 'a -> int -> bool
but an expression was expected of type int
我该如何做我想做的事?
关于一个侧面的问题,我怎么能自己想出来的,所以我不必依靠外部的论坛帮助?有什么好的资源可用?
另外请注意,一旦你在一个变量拥有它,你不能把它们作为内嵌运营商。 –