Tipo unit (F#)
O unit tipo é um tipo que indica a ausência de um valor específico; o unit o tipo tem apenas um único valor, que atua como um espaço reservado quando nenhum outro valor existe ou é necessário.
// 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 que seja de interesse, o valor do tipo unit é usado. O unit tipo é semelhante a void tipo em linguagens como, por exemplo, C# e C++.
O unit tipo tem um único valor, e esse valor é indicado pelo token de ().
O valor da unit tipo é freqüentemente usado em F# de programação para manter o lugar onde é necessário um valor para a sintaxe da linguagem, mas quando nenhum valor é necessário ou desejado. Um exemplo pode ser o valor de retorno de um printf função. Porque as ações importantes da printf operação ocorrer na função, não tem a função retornar um valor real. Portanto, o valor de retorno é do tipo unit.
Algumas construções esperam uma unit valor. Por exemplo, um do vinculação ou qualquer código no nível superior de um módulo é esperado a ser avaliada como um unit valor. O compilador reporta um aviso quando uma do código no nível superior de um módulo ou ligação produz um resultado diferente da unit valor que não for usada, 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; ele não aparece em outros.NET linguagens de programação. Em um programa puramente funcional, na qual as funções não têm efeitos colaterais, o valor de retorno final é o único resultado de uma chamada de função. Portanto, quando o resultado é ignorado, ele é um possível erro de programação. Embora não seja uma linguagem de programação puramente funcional F#, ele é uma boa prática a seguir o estilo de programação funcional, sempre que possível.