Ćwiczenie — funkcje

Ukończone

W tym ćwiczeniu kod będzie wielokrotnego użytku. Jest to kod napisany przez innego programistę w zespole, ale Twoim zadaniem jest przekształcenie go w funkcje.

Tworzenie funkcji

Zacznij od utworzenia szkieletu nowego projektu języka F#, a następnie wykonaj fragment kodu i przekształcij go w funkcję z parametrami.

  1. Utwórz nowy projekt języka F#, uruchamiając polecenie dotnet new.

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

    Teraz, gdy masz nowy projekt, przyjrzyjmy się kodowi.

    Oto kod od współpracownika.

    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. Zastąp kod domyślny w pliku Program.fs następującym kodem:

    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
    

    Pierwszy wiersz tego kodu let cardFace card tworzy go w funkcji. Teraz jest to funkcja o nazwie cardface() , która przyjmuje parametr card.

  3. Dodaj następujący kod poniżej cardface() funkcji .

    printfn "%s" (cardFace 11)
    
  4. Uruchom projekt, wywołując polecenie dotnet run w konsoli programu .

    dotnet run
    

    Zobaczysz teraz następujące dane wyjściowe:

    Jack
    

Gratulacje! Wykonano fragment kodu, który chcesz wykorzystać do wielokrotnego użytku i przekształciłeś go w funkcję.

Dodawanie typów

Kod współpracownika został przekształcony w funkcję. Aby ten kod był bardziej czytelny, decydujesz się dodać do niego definicje typów.

  1. Zmodyfikuj istniejącą cardface() funkcję tak, aby wyglądała następująco:

    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. Teraz uruchom projekt dotnet run.

    dotnet run
    

    Zobaczysz teraz następujące dane wyjściowe:

    Jack
    

    Kod nadal działa i wyjaśniliśmy go, dodając typ do parametru wejściowego.

  3. Zmień funkcję cardface() tak, aby wyglądała następująco:

    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
    

    W tym momencie dodano typ zwracany do funkcji :string, co oznacza, że funkcja zwraca ciąg.

  4. Uruchom projekt dotnet run.

    dotnet run
    

    Po raz kolejny powinny zostać wyświetlone następujące dane wyjściowe:

    Jack
    

Gratulacje! Kod zawiera teraz dodane typy.