Wprowadzenie do języka F# w Visual Studio dla komputerów Mac

Ważne

Firma Microsoft ogłosiła wycofanie Visual Studio dla komputerów Mac. Visual Studio dla komputerów Mac nie będą już obsługiwane od 31 sierpnia 2024 r. Alternatywy obejmują:

Aby uzyskać więcej informacji, zobacz Visual Studio dla komputerów Mac ogłoszenie o wycofaniu.

Język F# jest obsługiwany w środowisku IDE Visual Studio dla komputerów Mac. Upewnij się, że zainstalowano Visual Studio dla komputerów Mac.

Tworzenie aplikacji konsolowej

Jednym z najbardziej podstawowych projektów w Visual Studio dla komputerów Mac jest aplikacja konsolowa. Oto jak to zrobić. Po otwarciu Visual Studio dla komputerów Mac:

  1. W menu Plik wskaż polecenie Nowe rozwiązanie.

  2. W oknie dialogowym Nowy projekt istnieją 2 różne szablony aplikacji konsolowej. Istnieje jedna w obszarze Inne —> .NET, która jest przeznaczona dla programu .NET Framework. Drugi szablon znajduje się w obszarze .NET Core —> aplikacja przeznaczona dla platformy .NET Core. Dowolny szablon powinien działać na potrzeby tego artykułu.

  3. W obszarze aplikacja konsolowa w razie potrzeby zmień język C# na F#. Wybierz przycisk Dalej, aby przejść do przodu!

  4. Nadaj projektowi nazwę i wybierz żądane opcje dla aplikacji. Zwróć uwagę, że okienko podglądu po stronie ekranu, w której będzie wyświetlana struktura katalogów, która zostanie utworzona na podstawie wybranych opcji.

  5. Kliknij pozycję Utwórz. Teraz w Eksplorator rozwiązań powinien zostać wyświetlony projekt języka F#.

Pisanie kodu

Zacznijmy od najpierw pisania kodu. Upewnij się, że Program.fs plik jest otwarty, a następnie zastąp jego zawartość następującym kodem:

module HelloSquare

let square x = x * x

[<EntryPoint>]
let main argv =
    printfn "%d squared is: %d!" 12 (square 12)
    0 // Return an integer exit code

W poprzednim przykładzie kodu zdefiniowano funkcję square , która pobiera dane wejściowe o nazwie x i mnoży ją samodzielnie. Ponieważ język F# używa wnioskowania typu, typ x nie musi być określony. Kompilator języka F# rozumie typy, w których mnożenie jest prawidłowe, i przypisze typ na x podstawie square wywoływania. Po umieszczeniu wskaźnika myszy na squareobiekcie powinny zostać wyświetlone następujące elementy:

val square: x:int -> int

Jest to znany jako podpis typu funkcji. Można go odczytać w następujący sposób: "Square jest funkcją, która przyjmuje liczbę całkowitą o nazwie x i generuje liczbę całkowitą". Należy pamiętać, że kompilator na razie dał squareint typ — jest to spowodowane tym, że mnożenie nie jest ogólne we wszystkich typach, ale raczej jest ogólne w zamkniętym zestawie typów. Kompilator języka F# wybrany int w tym momencie, ale dostosuje sygnaturę typu w przypadku wywołania square za pomocą innego typu danych wejściowych, takich jak float.

Inna funkcja, main, jest zdefiniowana, która jest ozdobiona atrybutem EntryPoint , aby poinformować kompilator języka F#, że wykonanie programu powinno się tam rozpocząć. Jest zgodna z tą samą konwencją co inne języki programowania w stylu C, gdzie argumenty wiersza polecenia można przekazać do tej funkcji, a kod całkowity jest zwracany (zazwyczaj 0).

W tej funkcji wywołujemy square funkcję z argumentem 12. Kompilator języka F# przypisuje następnie typ parametru squareint -> int (czyli funkcję, która przyjmuje int element i generuje element int). Wywołanie elementu to printfn sformatowana funkcja drukowania, która używa ciągu formatu, podobnego do języków programowania w stylu C, parametrów odpowiadających określonym w ciągu formatu, a następnie wyświetla wynik i nowy wiersz.

Uruchamianie kodu

Możesz uruchomić kod i wyświetlić wyniki, klikając pozycję Uruchom w menu najwyższego poziomu, a następnie uruchom bez debugowania. Spowoduje to uruchomienie programu bez debugowania i umożliwi wyświetlenie wyników.

Powinny zostać wyświetlone następujące informacje w oknie konsoli, które Visual Studio dla komputerów Mac wyświetlone:

12 squared is 144!

Gratulacje! W Visual Studio dla komputerów Mac utworzono pierwszy projekt języka F#, utworzono funkcję języka F#, która wydrukowała wyniki wywoływania tej funkcji i uruchamiała projekt, aby wyświetlić niektóre wyniki.

Korzystanie z języka F# Interactive

Jedną z najlepszych funkcji narzędzi języka F# w Visual Studio dla komputerów Mac jest okno interaktywne języka F#. Umożliwia ona wysyłanie kodu do procesu, w którym można wywołać ten kod i zobaczyć wynik interaktywnie.

Aby rozpocząć korzystanie z niego, wyróżnij funkcję zdefiniowaną square w kodzie. Następnie kliknij pozycję Edytuj w menu najwyższego poziomu. Następnie wybierz pozycję Wyślij zaznaczenie do interaktywnego języka F#. Spowoduje to wykonanie kodu w oknie interaktywnym języka F#. Alternatywnie możesz kliknąć prawym przyciskiem myszy zaznaczenie i wybrać pozycję Wyślij wybór do F# Interactive. Powinno zostać wyświetlone okno interaktywne języka F# z następującymi elementami:

>

val square: x: int -> int

>

Spowoduje to wyświetlenie tego samego podpisu funkcji, square który został wyświetlony wcześniej po umieszczeniu wskaźnika myszy na funkcji. Ponieważ square element jest teraz zdefiniowany w procesie interaktywnym języka F#, można wywołać go przy użyciu różnych wartości:

> square 12;;
val it: int = 144
> square 13;;
val it: int = 169

Spowoduje to wykonanie funkcji, powiązanie wyniku z nową nazwą iti wyświetleniem typu i wartości .it Należy pamiętać, że należy zakończyć każdy wiersz za pomocą ;;polecenia . W ten sposób środowisko F# Interactive wie, kiedy wywołanie funkcji zostało zakończone. Możesz również zdefiniować nowe funkcje w języku F# Interactive:

> let isOdd x = x % 2 <> 0;;

val isOdd: x: int -> bool

> isOdd 12;;
val it: bool = false

Powyższe definiuje nową funkcję , isOddktóra przyjmuje int element i sprawdza, czy jest dziwna! Tę funkcję można wywołać, aby zobaczyć, co zwraca z różnymi danymi wejściowymi. Funkcje można wywoływać w wywołaniach funkcji:

> isOdd (square 15);;
val it: bool = true

Możesz również użyć operatora potoku do potoku, aby przesłać wartość do dwóch funkcji:

> 15 |> square |> isOdd;;
val it: bool = true

Operator potoku do przodu i nie tylko zostały omówione w kolejnych samouczkach.

Jest to tylko spojrzenie na to, co można zrobić za pomocą języka F# Interactive. Aby dowiedzieć się więcej, zapoznaj się z programowaniem interaktywnym w języku F#.

Następne kroki

Jeśli jeszcze tego nie zrobiono, zapoznaj się z przewodnikiem Po języku F#, który obejmuje niektóre podstawowe funkcje języka F#. Zawiera on omówienie niektórych możliwości języka F#, a także udostępnia przykładowe przykłady kodu, które można skopiować do Visual Studio dla komputerów Mac i uruchomić. Istnieje również kilka wspaniałych zasobów zewnętrznych, których można użyć, zaprezentowanych w przewodniku języka F#.

Zobacz też