Gyakorlat – Függvények
Ebben a gyakorlatban újra felhasználhatóvá teszi a kódot. Ezt a kódot egy másik programozó írta a csapatában, de a feladat az, hogy függvényekké alakítsa.
Függvények létrehozása
Először készítsen egy új F#-projektet, majd vegyen fel egy kódrészletet, és alakítsa azt paraméterekkel rendelkező függvénysé.
Hozzon létre egy új F#-projektet a futtatással
dotnet new.dotnet new console --language F# -o Functions cd FunctionsMost, hogy új projektje van, nézzük meg a kódot.
Íme a munkatársa kódja.
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 noCserélje le az alapértelmezett kódot a Program.fs fájlban a következő kódra:
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 noA kód
let cardFace cardelső sora függvénysé teszi. Ez most egy függvény, amelycardface()a paramétertcardveszi fel.Adja hozzá a következő kódot a
cardface()függvény alá.printfn "%s" (cardFace 11)Futtassa a projektet a konzolon való hívással
dotnet run.dotnet runMost a következő kimenet jelenik meg:
Jack
Gratulálunk! Készített egy kódot, amelyet újrahasználni szeretne, és függvénysé alakította.
Típusok hozzáadása
A kollégája kódját függvénysé alakította. A kód olvashatóbbá tétele érdekében úgy dönt, hogy típusdefiníciókat ad hozzá.
Módosítsa a meglévő
cardface()függvényt úgy, hogy az így nézzen ki: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 noMost futtassa a projektet
dotnet run.dotnet runMost a következő kimenet jelenik meg:
JackA kód továbbra is működik, és a bemeneti paraméterhez egy típus hozzáadásával egyértelműbb lett.
Módosítsa a függvényt
cardface()úgy, hogy az így nézzen ki: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 noEkkor hozzáadott egy visszatérési típust a függvényhez
:string, ami azt jelenti, hogy a függvény egy sztringet ad vissza.Futtassa a projektet
dotnet run.dotnet runIsmét a következő kimenetnek kell megjelennie:
Jack
Gratulálunk! A kódhoz most már típusok is hozzáadva vannak.