Предположим, у вас есть 2 целочисленные переменные a и b. Как бы вы поменяли их местами, только если a> b с помощью выражения соответствия?Если a <= b, не меняйте местами. </p>
На императивном языке:
if (a > b){
int temp=a;
a=b;
b=temp;
}
Выполнение того же в ocaml кажется удивительно трудным.
Я пытался
let swap a b =
match a,b with
| a,b when a > b -> b,a
| a,b when a <= b -> a,b
Я пытаюсь это сделать, потому что в следующем вызове функции я хочу убедиться, что x больше двух переменных.