FS0002: непредвиденная функция
Это сообщение присваивается при передаче лямбда-лямбда-параметра, в котором ожидается значение.
Следующий код демонстрирует ошибку:
let ignoreInt (f: int) = ()
do ignoreInt (fun x -> x + 1)
Этот код приводит к следующим выходным данным:
error FS0002: This function takes too many arguments, or is used in a context where a function is not expected
Здесь тип определяется как функцияint -> unit
, но лямбда-тип ignoreInt
int -> int
передается вместо него. Так как int -> int
сообщение не совпадает с int
типом сообщения.
Чтобы исправить это сообщение, необходимо изменить код, чтобы нелямбда-аргумент передается функции, как в этом примере:
let ignoreInt (i: int) = ()
do ignoreInt 1
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по