Я пытаюсь написать функцию, где у меня есть вспомогательная функция, 'a -> bool. Моя проблема в том, когда я пытаюсь использовать возвращаемое значение из этой вспомогательной функции, я получаю ошибку (потому что это функция?)Проверка равенства в F #
Тип
'a -> bool' does not support the 'equality' constraint
,
Есть способ заставить его предварительно оценить функцию, чтобы я мог использовать возвращаемое значение?
Пример:
let primelist n =
let rec prim n = function
| [] -> true
| x::xs when n % x = 0 -> false
| x::xs -> prim n xs
let rec help n list = function
| n when (prim n = true) -> List.rev (n::list)
| n -> List.rev list
| i when (prim i = true) -> help n (i::list) (i+1)
| i -> help n list (i+1)
help [2] n
Только что нашел свою ошибку ^^ – kam