Øvelse – funktioner
I denne øvelse gør du din kode genbrugelig. Det er kode, som en anden programmør på dit team skrev, men dit job er at gøre det til funktioner.
Opret funktioner
Start med at oprette et nyt F#-projekt, og tag derefter et stykke kode, og gør det til en funktion med parametre.
Opret et nyt F#-projekt ved at køre
dotnet new.dotnet new console --language F# -o Functions cd FunctionsNu, hvor du har et nyt projekt, kan vi se på koden.
Her er koden fra din kollega.
let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noErstat standardkoden i filen Program.fs med følgende kode:
let cardFace card = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noDen første linje i denne kode
let cardFace cardgør den til en funktion. Det er nu en funktion kaldetcardface(), der tager parameterencard.Tilføj følgende kode under funktionen
cardface().printfn "%s" (cardFace 11)Kør projektet ved at kalde
dotnet runi konsollen.dotnet runDu kan nu se følgende output:
Jack
Tillykke! Du har taget et stykke kode, som du ville gøre genbrugeligt og gjort det til en funktion.
Tilføj typer
Du har gjort din kollegas kode til en funktion. Hvis du vil gøre denne kode mere læsevenlig, skal du beslutte at føje typedefinitioner til den.
Rediger din eksisterende
cardface()funktion, så den ser sådan ud:let cardFace (card:int) = let no = card % 13 if no = 1 then "Ace" elif no = 0 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noKør nu projektet
dotnet run.dotnet runDu kan nu se følgende output:
JackKoden fungerer stadig, og du har gjort det tydeligere ved at føje en type til inputparameteren.
Rediger funktionen
cardface(), så den ser sådan ud:let cardFace (card:int) :string = let no = card % 13 if no = 14 || no = 1 then "Ace" elif no = 13 then "King" elif no = 12 then "Queen" elif no = 11 then "Jack" else string noPå dette tidspunkt har du føjet en returtype til funktionen
:string, betyder, at funktionen returnerer en streng.Kør projektet
dotnet run.dotnet runDu bør igen se følgende output:
Jack
Tillykke! Der er nu føjet typer til din kode.