📎 Webclip
F# para programadores C# – Parte 2 – Aplicação de Funções
O post continua a série com a indicação do livro Programming F#, de Chris Smith, para quem está começando. Depois compara como F# aplica funções diretamente e como C# invoca métodos em objetos, além de mostrar que F# usa uma sintaxe mais curta para vários argumentos e chamadas aninhadas.
Fichamento#
- O autor recomenda o livro Programming F#, de Chris Smith, para quem está começando na linguagem.
- Em F#, o termo usado é aplicação de função, isto é, uma função executada com um conjunto de argumentos.
- Em C#, um método é invocado a partir de um objeto, como em
obj.Foo(x). - Em F#, uma função pode ser aplicada diretamente, como em
foo x. - Para dois argumentos, F# usa
foo a b, enquanto C# usaobj.Foo(a,b). - F# dispensa parênteses, vírgulas e ponto e vírgula no fim, deixando a sintaxe mais curta.
- Quando o resultado de uma função vira argumento de outra, F# escreve
foo (fee x)efoo a (fee b). - Em F#, parênteses mudam a prioridade de execução, como em Haskell.
- O post mostra definições em F# para
add,inc,doubleequadruplenum script.fsx. - No Visual Studio, o script pode rodar no console interativo com Alt+Enter.
- No REPL de linha de comando, o autor orienta adicionar o caminho do F# SDK às variáveis de ambiente do Windows e digitar
fsi. - A versão em C# usa
Func<int, int, int>eFunc<int, int>para funções equivalentes. - O autor diz que F# trata funções como membros de primeira classe e infere tipos de função com mais facilidade.
- O post encerra dizendo que C# trata a função como um objeto
Funce que a inferência não funciona tão bem nesse caso.
