Unit (Tipo)

El tipo es un tipo que indica la ausencia de un valor específico; el tipo solo tiene un valor único, que actúa como marcador de posición cuando no existe ningún otro valor o unit unit es necesario.

Sintaxis

// The value of the unit type.
()

Comentarios

Cada expresión de F# debe evaluarse como un valor. Para las expresiones que no generan un valor que sea de interés, se usa el valor unit de tipo . El unit tipo es similar al tipo en void lenguajes como C# y C++.

El tipo tiene un valor único y el token indica unit ese () valor.

El valor del tipo se usa a menudo en la programación de F# para contener el lugar donde la sintaxis del lenguaje requiere un valor, pero cuando no se necesita unit ni se desea ningún valor. Un ejemplo podría ser el valor devuelto de una printf función. Dado que las acciones importantes de la operación se producen en la función, la función no tiene printf que devolver un valor real. Por lo tanto, el valor devuelto es de tipo unit .

Algunas construcciones esperan un unit valor. Por ejemplo, se espera que un enlace o cualquier código en el nivel superior de un módulo do se evalúe como un valor unit . El compilador notifica una advertencia cuando un enlace o código en el nivel superior de un módulo genera un resultado distinto del valor que no se usa, como se muestra en do unit el ejemplo siguiente.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

Esta advertencia es una característica de la programación funcional; no aparece en otros lenguajes de programación de .NET. En un programa puramente funcional, en el que las funciones no tienen ningún efecto secundario, el valor devuelto final es el único resultado de una llamada de función. Por lo tanto, cuando se omite el resultado, es un posible error de programación. Aunque F# no es un lenguaje de programación puramente funcional, es una buena práctica seguir el estilo de programación funcional siempre que sea posible.

Consulta también