Ćwiczenie — funkcje
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.
Utwórz nowy projekt języka F#, uruchamiając polecenie
dotnet new.dotnet new console --language F# -o Functions cd FunctionsTeraz, 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 noZastą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 noPierwszy wiersz tego kodu
let cardFace cardtworzy go w funkcji. Teraz jest to funkcja o nazwiecardface(), która przyjmuje parametrcard.Dodaj następujący kod poniżej
cardface()funkcji .printfn "%s" (cardFace 11)Uruchom projekt, wywołując polecenie
dotnet runw konsoli programu .dotnet runZobaczysz 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.
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 noTeraz uruchom projekt
dotnet run.dotnet runZobaczysz teraz następujące dane wyjściowe:
JackKod nadal działa i wyjaśniliśmy go, dodając typ do parametru wejściowego.
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 noW tym momencie dodano typ zwracany do funkcji
:string, co oznacza, że funkcja zwraca ciąg.Uruchom projekt
dotnet run.dotnet runPo raz kolejny powinny zostać wyświetlone następujące dane wyjściowe:
Jack
Gratulacje! Kod zawiera teraz dodane typy.