Tipo unit
O tipo unit
indica a ausência de um valor específico; o tipo unit
tem apenas um único valor, que atua como um espaço reservado quando nenhum outro valor existe ou é necessário.
Sintaxe
// The value of the unit type.
()
Comentários
Cada expressão F# deve ser avaliada como um valor. Para expressões que não geram um valor de interesse, o valor do tipo unit
é usado. O tipo unit
é semelhante ao tipo void
em linguagens como C# e C++.
O tipo unit
tem um único valor e esse valor é indicado pelo token ()
.
O valor do tipo unit
geralmente é usado na programação em F# para manter o local em que um valor é exigido pela sintaxe da linguagem quando nenhum valor é necessário ou desejado. Um exemplo pode ser o valor retornado de uma função printf
. Como as ações importantes da operação printf
ocorrem na função, a função não precisa retornar um valor real. Portanto, o valor retornado é do tipo unit
.
Alguns constructos esperam um valor unit
. Por exemplo, espera-se que uma associação do
ou qualquer código no nível superior de um módulo seja avaliado como um valor unit
. O compilador relata um aviso quando uma associação do
ou um código no nível superior de um módulo produz um resultado diferente do valor unit
que não é usado, conforme mostrado no exemplo a seguir.
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
Esse aviso é uma característica da programação funcional que não aparece em outras linguagens de programação do .NET. Em um programa puramente funcional, no qual as funções não têm efeitos colaterais, o valor retornado final é o único resultado de uma chamada de função. Portanto, quando o resultado é ignorado, isso consiste em um possível erro de programação. Embora F# não seja uma linguagem de programação puramente funcional, é uma boa prática seguir o estilo de programação funcional sempre que possível.