Cvičení – funkce
V tomto cvičení můžete kód opakovaně použít. Je to kód, který napsal jiný programátor ve vašem týmu, ale vaším úkolem je převést ho na funkce.
Vytvoření funkcí
Začněte generováním nového projektu jazyka F# a pak vezměte část kódu a změňte ji na funkci s parametry.
Spuštěním příkazu <
a0/& vytvořte nový projekt jazyka F#. dotnet new console --language F# -o Functions cd FunctionsTeď, když máte nový projekt, se podívejme na kód.
Tady je kód od vašeho kolegy.
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 noNahraďte výchozí kód v souboru Program.fs následujícím kódem:
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 noPrvní řádek tohoto kódu
let cardFace cardz něj vytvoří funkci. Teď je to funkce, která přebírácardface()parametrcard.Pod funkci přidejte následující kód
cardface().printfn "%s" (cardFace 11)Spusťte projekt voláním
dotnet runv konzole.dotnet runTeď uvidíte následující výstup:
Jack
Gratulujeme! Vzali jste si kus kódu, který jste chtěli opakovaně použít a převést ho na funkci.
Přidání typů
Kód kolegy jste přepracovali na funkci. Pokud chcete, aby byl tento kód čitelnější, rozhodnete se do něj přidat definice typů.
Upravte stávající
cardface()funkci tak, aby vypadala takto: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 noNyní spusťte projekt
dotnet run.dotnet runTeď uvidíte následující výstup:
JackKód stále funguje a vy jste ho zpřesnili přidáním typu do vstupního parametru.
Upravte funkci
cardface()tak, aby vypadala takto: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 noV tomto okamžiku jste do funkce
:stringpřidali návratový typ , znamená to, že funkce vrátí řetězec.Spusťte projekt
dotnet run.dotnet runZnovu by se měl zobrazit následující výstup:
Jack
Gratulujeme! Váš kód teď obsahuje přidané typy.