يجب أن يكون هذا التعبير نوع 'وحدة'، ولكن لديه نوع 'ConsoleKeyInfo "
-
11-07-2019 - |
سؤال
وأردت فقط أن نتوقف في تطبيق F # حدة، لذلك كتبت:
وConsole.ReadKey ()
ولكن هذا يعطي تحذير: This expression should have type 'unit', but has type 'ConsoleKeyInfo'.
وماذا يمكنني أن أفعل لإصلاح هذا؟
المحلول
والحل:
Console.ReadKey() |> ignore
شرح: Console.ReadKey()
بإرجاع كائن من النوع 'ConsoleKeyInfo' ولكن كنت تستخدم على أنها بيان دون تعيين قيمة الإرجاع إلى أي شيء. لذا F # يحذرك أنك تجاهل قيمة. ignore
يأخذ أي نوع والعوائد شيء. يمكن تعريف مثل هذا:
let ignore _ = ()
لا تنتمي إلى StackOverflow