Итак, у меня есть эта функция, где я беру два поплавковых списка и использую их соответствующие элементы индекса для вычисления этой простой формулы: (x-y)^2 / x
для каждого индекса (0,1,2,3 ...)
Вот что у меня есть:
let myCalc (list1: float list) (list2: float list) : float list =
List.map2 (fun x y -> (x-y)^2 / x) list1 list2
Я получаю эту ошибку: This expression was expected to have type 'float' but here has type 'string'
Почему мой подход, перечисленный выше, не будет работать, но этот пример работает:
let list1 = [1; 2; 3]
let list2 = [4; 5; 6]
let sumList = List.map2 (fun x y -> x + y) list1 list2
printfn "%A" sumList
Может кто-нибудь объяснить, как я могу понять разницу между написанным мною кодом и приведенным выше примером кода?И да, я уже пытался установить List.map2 в переменную и затем распечатать его, но это тоже не сработало.Я думаю, что это как-то связано с тем, как я делаю свои вычисления, я просто не знаю, что не так.
Кроме того, я хочу, чтобы мой выходной результат был сохранен в списке соответствующих индексов x и y.Пожалуйста, помогите.