Soy un novato OCaml. Estoy intentando descubrir cómo manejar un operador de comparación que pasó a una función.OCaml: Usar un operador de comparación pasado a una función
Mi función solo intenta pasar en un operador de comparación (=, <,>, etc.) y un int.
let myFunction comparison x =
if (x (comparison) 10) then
10
else
x;;
Tenía la esperanza de que este código se evaluaría a (si es un "=" se pasaron en):
if (x = 10) then
10
else
x;;
Sin embargo, esto no está funcionando. En particular, se cree que x es un bool, como lo demuestra este mensaje de error:
This expression has type 'a -> int -> bool
but an expression was expected of type int
¿Cómo puedo hacer lo que yo estoy tratando de hacer?
En una pregunta secundaria, ¿cómo podría haber descubierto esto por mi cuenta así que no tengo que depender de la ayuda externa de un foro? ¿Qué buenos recursos hay disponibles?
También tenga en cuenta que una vez que lo tienes en una variable, no puede utilizarlos como operadores en línea. –