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ří:
- Visual Studio Code se sadou C# Dev Kit a souvisejícími rozšířeními, jako jsou .NET MAUI a Unity.
- Visual Studio spuštěné ve Windows na virtuálním počítači na Macu
- Visual Studio spuštěné ve Windows na virtuálním počítači v cloudu
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:
V nabídce Soubor přejděte na nové řešení.
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.
V případě potřeby v konzole změňte C# na F#. Pokud chcete přejít vpřed, zvolte tlačítko Další.
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í.
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 x
square
základě volání. Pokud najedete myší, square
mě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 square
int
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 it
a 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, isOdd
jestli 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro