Wat is er nieuw in F# 4.6
F# 4.6 voegt meerdere verbeteringen toe aan de F#-taal.
Aan de slag
F# 4.6 is beschikbaar in alle .NET Core-distributies en Visual Studio-hulpprogramma's. Ga aan de slag met F# voor meer informatie.
Anonieme records
Anonieme records zijn een nieuw type F#dat is geïntroduceerd in F# 4.6. Ze zijn eenvoudige aggregaties van benoemde waarden die niet hoeven te worden gedeclareerd voor gebruik. U kunt ze declareren als structs of verwijzingstypen. Dit zijn standaard referentietypen.
open System
let getCircleStats radius =
let d = radius * 2.0
let a = Math.PI * (radius ** 2.0)
let c = 2.0 * Math.PI * radius
{| Diameter = d; Area = a; Circumference = c |}
let r = 2.0
let stats = getCircleStats r
printfn "Circle with radius: %f has diameter %f, area %f, and circumference %f"
r stats.Diameter stats.Area stats.Circumference
Ze kunnen ook worden gedeclareerd als structs voor wanneer u waardetypen wilt groeperen en in prestatiegevoelige scenario's wilt werken:
open System
let getCircleStats radius =
let d = radius * 2.0
let a = Math.PI * (radius ** 2.0)
let c = 2.0 * Math.PI * radius
struct {| Diameter = d; Area = a; Circumference = c |}
let r = 2.0
let stats = getCircleStats r
printfn "Circle with radius: %f has diameter %f, area %f, and circumference %f"
r stats.Diameter stats.Area stats.Circumference
Ze zijn vrij krachtig en kunnen in talloze scenario's worden gebruikt. Meer informatie vindt u op Anonieme records.
ValueOption-functies
Het type ValueOption dat is toegevoegd in F# 4.5, heeft nu 'modulegebonden functiepariteit' met het optietype. Enkele van de veelgebruikte voorbeelden zijn als volgt:
// Multiply a value option by 2 if it has value
let xOpt = ValueSome 99
let result = xOpt |> ValueOption.map (fun v -> v * 2)
// Reverse a string if it exists
let strOpt = ValueSome "Mirror image"
let reverse (str: string) =
match str with
| null
| "" -> ValueNone
| s ->
str.ToCharArray()
|> Array.rev
|> string
|> ValueSome
let reversedString = strOpt |> ValueOption.bind reverse
Hierdoor kan ValueOption net als Option worden gebruikt in scenario's waarin een waardetype de prestaties verbetert.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor