Cvičení – funkce

Dokončeno

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.

  1. Spuštěním příkazu <a0/& vytvořte nový projekt jazyka F#.

    dotnet new console --language F# -o Functions
    cd Functions
    

    Teď, 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 no
    
  2. Nahraď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 no
    

    První řádek tohoto kódu let cardFace card z něj vytvoří funkci. Teď je to funkce, která přebírá cardface() parametr card.

  3. Pod funkci přidejte následující kód cardface() .

    printfn "%s" (cardFace 11)
    
  4. Spusťte projekt voláním dotnet run v konzole.

    dotnet run
    

    Teď 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ů.

  1. 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 no
    
  2. Nyní spusťte projekt dotnet run.

    dotnet run
    

    Teď uvidíte následující výstup:

    Jack
    

    Kód stále funguje a vy jste ho zpřesnili přidáním typu do vstupního parametru.

  3. 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 no
    

    V tomto okamžiku jste do funkce :stringpřidali návratový typ , znamená to, že funkce vrátí řetězec.

  4. Spusťte projekt dotnet run.

    dotnet run
    

    Znovu by se měl zobrazit následující výstup:

    Jack
    

Gratulujeme! Váš kód teď obsahuje přidané typy.