Compartir vía


Tipo de unidad

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

Sintaxis

// The value of the unit type.
()

Observaciones

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

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

El valor del unit 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 ni desea ningún valor. Un ejemplo podría ser el valor devuelto de una printf función. Dado que las acciones importantes de la printf operación se producen en la función , la función no tiene 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 do enlace o cualquier código en el nivel superior de un módulo se evalúe como un unit valor. El compilador notifica una advertencia cuando un do enlace o código en el nivel superior de un módulo genera un resultado distinto del unit valor que no se usa, como se muestra en 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 posible un error de programación. Aunque F# no es un lenguaje de programación puramente funcional, es recomendable seguir el estilo de programación funcional siempre que sea posible.

Consulte también