Итак, я пытаюсь отобразить функцию, которая имеет 3 аргумента, 2 являются аргументом «дать» и список чисел, который будет последней переменной. Я использую свою функцию карты, но я не буду работать, и я не уверен, почему. Я работаю, если переданная функция имеет 2 аргумента. Я пытался найти другие решения и не нашел много, я не уверен, но я должен попробовать это рекурсивно?
let segment (cx,cy) (nx,ny) =
let lnf = range (cx+1) nx in
let s = slope (cx,cy) (nx,ny) in
let y = yintercept (cx,cy) in
map (solve s y) lnf;;
let slope (x1,y1) (x2,y2) : int =
(y2-y1)/(x2-x1)
let yintercept ((x1,y1):coord) slope: int =
(y1 - (slope * x1))
let solve (m:int) (b:int) (x:int)=
(x*m)+b
let rec map: ('a -> 'b) -> 'a list -> 'b list = fun f l ->
match l with
| [] -> []
| h::t -> f h :: map f t