Øvelse – brug variabler til at gemme data
I denne øvelse lærer du, hvordan du opretter programmer, der sender kode til konsollen. Du bygger starten af et lommeregnerprogram, og du analyserer også et program, der indeholder fejl, og får mere at vide om, hvordan du retter fejlene.
Opret et projekt
Lad os starte med at oprette et projekt. Du opretter et projekt ud fra kommandolinjen ved hjælp af den eksekverbare dotnet.
Kør kommandoen
dotnet newi konsollen.dotnet new console --language F# -o Variables cd VariablesDenne kommando opretter et nyt F#-projekt i mappen Variabler.
Erstat koden i Program.fs med følgende kode:
[<EntryPoint>] let main argv = printfn "Welcome to the calculator program" // read input from the console and assign to `sum` let sum = 0 printfn "The sum is %i" sum 0Den første
printfnerklæring glæder brugeren af programmet. På den anden linje er der en kommentar, der starter med//, der viser kode, som du implementerer i den næste øvelsesenhed. Så har dulet sum = 0. Til sidst skal du oprette ensumvariabel, der indeholder beregningsresultatet.Kør programmet ved at køre
dotnet run.dotnet runDu bør kunne se følgende output:
Welcome to the calculator program The sum is 0
Tillykke! Du har administreret et projekt, startet på et større projekt og fået det til at køre.
Ret fejlen
En del af at lære at programmere på et hvilket som helst sprog er at lære at genkende kompileringsfejl og løse dem. I denne øvelse skal du oprette et nyt projekt. Sørg for, at du er ét niveau op i mappestrukturen, før du fortsætter.
Opret et nyt F#-projekt ved at køre
dotnet new.dotnet new console --language F# -o Errors cd ErrorsErstat koden i Program.fs med følgende kode:
[<EntryPoint>] let main argv = let aNumber = 0 printfn "Here's a number %s" aNumber 0 // return an integer exit codeDrikkepenge
Afbryd midlertidigt et øjeblik, og læs den foregående kode. Tror du, koden vil kompilere? Hvorfor eller hvorfor ikke?
Kør projektet ved at køre
dotnet run.dotnet runDer vises en fejlmeddelelse, der ligner denne tekst:
/<path>/Errors/Program.fs(8,34): error FS0001: This expression was expected to have type 'string' but here has type 'int' [/<path>/Errors/Errors.fsproj] The build failed. Fix the build errors and run again.Fejlmeddelelsen siger "forventet streng, men her var type int". Forstår du, hvad problemet er? Problemet er brugen af formateringsfunktionen
%si stedet for%i, fordi du giver funktionenprintfnvariablenaNumberaf typenint. Lad os rette koden.Find rækken med koden "printfn"Her er et tal %s" aNumber", og ret den til:
printfn "Here's a number %i" aNumberGem filen, og kør den igen med
dotnet run. Du bør nu kunne se følgende output:Here's a number 0
Tillykke! Du har foretaget fejlfinding af et program ved at læse koden, forstå, hvad der var galt, og løse problemet. At genkende fejlmeddelelser og vide, hvordan fejlene rettes, er vigtige færdigheder som udvikler.