Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
O F# 4.7 adiciona várias melhorias à linguagem F#.
O F# 4.7 está disponível em todas as distribuições do .NET Core e nas ferramentas do Visual Studio. Introdução à linguagem F# para saber mais.
O compilador de F# 4.7 apresenta a capacidade de definir sua versão de linguagem efetiva por meio de uma propriedade em seu arquivo de projeto:
<PropertyGroup>
<LangVersion>preview</LangVersion>
</PropertyGroup>
É possível defini-la para os valores 4.6
, 4.7
, latest
e preview
. O padrão é latest
.
Se você defini-la como preview
, o compilador ativará todas as versões prévias de recursos de F# implementadas nele.
Você não precisa mais aplicar a palavra-chave yield
em matrizes, listas, sequências ou expressões de computação em que o tipo pode ser inferido. No exemplo a seguir, ambas as expressões exigiam a instrução yield
para cada entrada antes do F# 4.7:
let s = seq { 1; 2; 3; 4; 5 }
let daysOfWeek includeWeekend =
[
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
if includeWeekend then
"Saturday"
"Sunday"
]
Se você introduzir uma única palavra-chave yield
, todos os outros itens também deverão ter yield
aplicado a ela.
Os resultados implícitos não são ativados quando são usados em uma expressão que também utiliza yield!
para fazer algo como o nivelamento de uma sequência. No momento, você deve continuar a usar yield
nesses casos.
No código em F# que envolve classes, o auto-identificador precisa ser sempre explícito em declarações de membro. No entanto, nos casos em que o auto-identificador nunca é usado, tem sido uma convenção tradicional usar um sublinhado duplo para indicar um auto-identificador sem nome. Agora é possível usar um único sublinhado:
type C() =
member _.M() = ()
Isso também se aplica a loops for
:
for _ in 1..10 do printfn "Hello!"
Antes do F# 4.7, os requisitos de recuo de argumentos de construtor primário e membro estático exigiam recuo excessivo. Agora eles exigem apenas um único escopo de recuo:
type OffsideCheck(a:int,
b:int, c:int,
d:int) = class end
type C() =
static member M(a:int,
b:int, c:int,
d:int) = 1
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Roteiro de aprendizagem
Erste Schritte mit F# - Training
F# ist eine plattformübergreifende Open-Source-Programmiersprache, die das Schreiben von prägnantem, widerstandsfähigem, stabilem und praktischem Code vereinfacht. Es ist eine allgemeine Sprache, mit der Sie viele verschiedene Arten von Anwendungen wie Web-API, Desktop, IoT, Gaming und mehr erstellen können.
Documentação
Neuerungen in F# 5 – F#-Leitfaden - .NET
Hier erhalten Sie einen Überblick über die neuen Features in F# 5.
Neuerungen in F# 7 – F#-Leitfaden - .NET
Hier finden Sie Informationen zu den neuen Funktionen, die in F# 7 verfügbar sind.
Neuerungen in F# 6 – F#-Leitfaden - .NET
Hier erhalten Sie einen Überblick über die neuen Features in F# 6.