F #: Это выражение должно иметь тип 'unit', но имеет тип 'ConsoleKeyInfo'
Это простой вопрос, но у меня возникли проблемы с поиском ответа, поскольку F # является настолько новым. Я просто хотел сделать паузу в консольном приложении F #, поэтому написал:
Console.ReadKey()
Но это дает предупреждение: это выражение должно иметь тип "unit", но имеет тип "ConsoleKeyInfo". Любая помощь будет принята с благодарностью.
Спасибо,
- Ли
Ответы
Ответ 1
Решение:
Console.ReadKey() |> ignore
Объяснение: Console.ReadKey()
возвращает объект типа "ConsoleKeyInfo", но вы используете его в качестве инструкции, не присваивая возвращаемое значение чему-либо. Поэтому F # предупреждает вас, что вы игнорируете значение. ignore
принимает любой тип и ничего не возвращает. Его можно определить следующим образом:
let ignore _ = ()