Začínáme s jazykem F# v Visual Studio pro Mac

Důležité

Společnost Microsoft oznámila vyřazení Visual Studio pro Mac. Visual Studio pro Mac již nebudou podporovány od 31. srpna 2024. Mezi alternativy patří:

Další informace najdete v tématu Visual Studio pro Mac oznámení o vyřazení z provozu.

Jazyk F# je podporován v integrovaném vývojovém prostředí (IDE) Visual Studio pro Mac. Ujistěte se, že máte nainstalované Visual Studio pro Mac.

Vytvoření konzolové aplikace

Jedním z nejzásadnějších projektů v Visual Studio pro Mac je konzolová aplikace. Tady je postup, jak to udělat. Po otevření Visual Studio pro Mac:

  1. V nabídce Soubor přejděte na nové řešení.

  2. V dialogovém okně Nový projekt existují 2 různé šablony pro konzolovou aplikaci. Existuje jedna v části Jiné –> .NET, která cílí na rozhraní .NET Framework. Druhá šablona je v rámci .NET Core –> aplikace, která cílí na .NET Core. Pro účely tohoto článku by měla fungovat obě šablony.

  3. V případě potřeby v konzole změňte C# na F#. Pokud chcete přejít vpřed, zvolte tlačítko Další.

  4. Pojmenujte projekt a zvolte požadované možnosti aplikace. Všimněte si, že podokno náhledu na straně obrazovky, které bude zobrazovat adresářovou strukturu, která se vytvoří na základě vybraných možností.

  5. Klikněte na Vytvořit. V Průzkumník řešení by se teď měl zobrazit projekt jazyka F#.

Psaní kódu

Začněme tím, že nejdřív napíšeme nějaký kód. Ujistěte se, že Program.fs je soubor otevřený, a pak nahraďte jeho obsah následujícím kódem:

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

V předchozí ukázce kódu byla definována funkce square , která přebírá vstup s názvem x a vynásobí ji sám. Vzhledem k tomu, že jazyk F# používá odvození typu, není nutné zadat typ x . Kompilátor jazyka F# rozumí typům, ve kterých je násobení platné, a přiřadí typ na xsquare základě volání. Pokud najedete myší, squareměli byste vidět následující:

val square: x:int -> int

To se označuje jako podpis typu funkce. Může být přečteno takto: "Square je funkce, která přebírá celé číslo s názvem x a vytváří celé číslo". Všimněte si, že kompilátor dal squareint typ prozatím – důvodem je to, že násobení není obecné pro všechny typy, ale spíše je obecné v uzavřené sadě typů. Kompilátor F# vybral int v tomto okamžiku, ale upraví podpis typu, pokud voláte square s jiným vstupním typem, například float.

Další funkce je definována main, která je zdobena atributem EntryPoint , aby kompilátoru jazyka F# řekl, že spuštění programu by se mělo spustit tam. Řídí se stejnou konvencí jako jiné programovací jazyky ve stylu jazyka C, kde argumenty příkazového řádku lze této funkci předat a vrátí se celočíselné kódy 0(obvykle).

Je v této funkci, že voláme square funkci s argumentem 12. Kompilátor F# pak přiřadí typ square být int -> int (to znamená funkce, která přebírá int a vytváří ).int Volání printfn je formátovaná funkce tisku, která používá formátovací řetězec, podobně jako programovací jazyky ve stylu jazyka C, parametry, které odpovídají parametrům zadaným v řetězci formátu, a pak vytiskne výsledek a nový řádek.

Spuštění kódu

Kód můžete spustit a zobrazit výsledky kliknutím na Spustit z nabídky nejvyšší úrovně a následným spuštěním bez ladění. Tím se program spustí bez ladění a umožní zobrazit výsledky.

Teď byste měli vidět následující tisk v okně konzoly, které Visual Studio pro Mac rozbalené:

12 squared is 144!

Gratulujeme! Vytvořili jste první projekt F# v Visual Studio pro Mac, napsali jste funkci F#, která vypíše výsledky volání této funkce, a spustíte projekt, aby se zobrazily některé výsledky.

Použití jazyka F# Interactive

Jednou z nejlepších funkcí nástrojů jazyka F# v Visual Studio pro Mac je interaktivní okno F#. Umožňuje odeslat kód do procesu, kde můžete tento kód volat a zobrazit výsledek interaktivně.

Pokud ji chcete začít používat, zvýrazněte funkci definovanou square v kódu. Potom v nabídce nejvyšší úrovně klikněte na Upravit . Potom vyberte Odeslat výběr do F# Interactive. Tím se kód spustí v interaktivním okně jazyka F#. Případně můžete kliknout pravým tlačítkem myši na výběr a zvolit Odeslat výběr do F# Interactive. Mělo by se zobrazit okno F# Interactive s následujícími informacemi:

>

val square: x: int -> int

>

Zobrazí se stejný podpis funkce pro square funkci, který jste viděli dříve při najetí myší na funkci. Vzhledem k tomu square , že je teď definován v procesu F# Interactive, můžete ho volat s různými hodnotami:

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

Tím se spustí funkce, vytvoří vazbu výsledku na nový název ita zobrazí typ a hodnotu it. Všimněte si, že je nutné ukončit každý řádek s ;;. Takto F# Interactive ví, kdy je volání funkce dokončeno. V jazyce F# Interactive můžete také definovat nové funkce:

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

val isOdd: x: int -> bool

> isOdd 12;;
val it: bool = false

Výše uvedená funkce definuje novou funkci, která přebírá int a kontroluje, isOddjestli je lichá. Tuto funkci můžete volat, abyste viděli, co vrací s různými vstupy. Funkce můžete volat v rámci volání funkcí:

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

Pomocí operátoru pipe-forward můžete také zavést hodnotu do těchto dvou funkcí:

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

Operátor pro přesměrování potrubí a další se zabývá v dalších kurzech.

To je jen pohled na to, co můžete dělat s F# Interactive. Další informace najdete v interaktivním programování pomocí jazyka F#.

Další kroky

Pokud jste to ještě neudělali, podívejte se na prohlídku F#, která se zabývá některými základními funkcemi jazyka F#. Poskytne vám přehled některých funkcí jazyka F# a poskytuje řadu ukázek kódu, které můžete zkopírovat do Visual Studio pro Mac a spustit. K dispozici jsou také některé skvělé externí prostředky, které můžete použít, které jsou prezentovány v průvodci jazykem F#.

Viz také