f# functional-programming unit-type

F#: Esta expresión debería tener el tipo ''unidad'', pero tiene el tipo ''ConsoleKeyInfo''



functional-programming unit-type (1)

Esta es una pregunta simple, pero estoy teniendo problemas para rastrear una respuesta ya que F # es muy nueva. Solo quería hacer una pausa en una aplicación de consola F #, así que escribí:

Console.ReadKey ()

Pero esto da la advertencia: esta expresión debería tener el tipo ''unidad'', pero tiene el tipo ''ConsoleKeyInfo''. Cualquier ayuda sería muy apreciada.

Gracias, - Lee


Solución:

Console.ReadKey() |> ignore

Explicación: Console.ReadKey() devuelve un objeto de tipo ''ConsoleKeyInfo'' pero lo está utilizando como una declaración sin asignar el valor de retorno a nada. Entonces F # le advierte que está ignorando un valor. ignore toma cualquier tipo y no devuelve nada. Podría definirse así:

let ignore _ = ()