Share via


Az F# használatának első lépései a Mac Visual Studióban

Fontos

A Microsoft bejelentette a Mac Visual Studio kivonását. A Visual Studio for Mac 2024. augusztus 31-től már nem támogatott. Alternatív lehetőségek:

  • Visual Studio Code a C# Dev Kittel és a kapcsolódó bővítményekkel, például a .NET MAUI-val és a Unityvel.
  • A Windowson futó Visual Studio egy Mac rendszerű virtuális gépen fut.
  • Windows rendszeren futó Visual Studio egy felhőbeli virtuális gépen.

További információt a Mac Visual Studio kivonási bejelentésében talál.

Az F# támogatott a Visual Studio for Mac IDE-ben. Győződjön meg arról, hogy telepítve van a Visual Studio for Mac.

Konzolalkalmazás létrehozása

A Mac Visual Studio egyik legalapvetőbb projektje a konzolalkalmazás. A következőképpen teheti meg. A Mac Visual Studio megnyitása után:

  1. A Fájl menüben mutasson az Új megoldás elemre.

  2. Az Új projekt párbeszédpanelen 2 különböző sablon található a konzolalkalmazáshoz. Az Egyéb –> .NET alatt van egy, amely a .NET-keretrendszer célozza. A másik sablon a .NET Core –> Alkalmazás alatt található, amely a .NET Core-t célozza meg. Bármelyik sablonnak a cikk céljára kell működnie.

  3. A konzolalkalmazásban szükség esetén módosítsa a C#-t F#-ra. A továbblépéshez válassza a Tovább gombot!

  4. Adjon nevet a projektnek, és válassza ki az alkalmazáshoz kívánt beállításokat. Figyelje meg, hogy a képernyő oldalára mutató előnézeti panelen a kiválasztott beállítások alapján létrejövő címtárstruktúra látható.

  5. Kattintson a Létrehozás gombra. Ekkor megjelenik egy F#-projekt a Megoldáskezelő.

Kód írása

Első lépésként írjunk néhány kódot. Győződjön meg arról, hogy a Program.fs fájl meg van nyitva, majd cserélje le a tartalmát a következőre:

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

Az előző kódmintában egy függvény square lett definiálva, amely egy elnevezett x bemenetet vesz fel, és önmagával megszorozza. Mivel az F# típuskövetkeztetést használ, a típust x nem kell megadni. Az F#-fordító ismeri azokat a típusokat, amelyeknél a szorzás érvényes, és a hívási mód square alapján hozzárendel egy típustx. Ha rámutat az egérmutatóra square, az alábbiaknak kell megjelennie:

val square: x:int -> int

Ezt nevezzük a függvény típusának aláírásának. A következőhöz hasonló szöveg olvasható: "A négyzet egy függvény, amely egy x nevű egész számot vesz igénybe, és egész számot hoz létre". Vegye figyelembe, hogy a fordító square egyelőre megadta a int típust – ennek az az oka, hogy a szorzás nem minden típusban általános, hanem egy zárt halmazon általános. Az F#-fordító ezen a ponton kiválasztotta int , de a típus aláírását módosítja, ha egy másik bemeneti típussal, square például egy float.

Definiálunk egy másik függvényt mainis, amely az EntryPoint attribútummal van díszítve, hogy az F#-fordítónak meg kell mondania, hogy a program végrehajtásának ott kell kezdődnie. Ugyanazt a konvenciót követi, mint a többi C-stílusú programozási nyelv, ahol parancssori argumentumok továbbíthatók ehhez a függvényhez, és egy egész számkódot ad vissza (általában 0).

Ebben a függvényben hívjuk meg a square függvényt a következő argumentummal 12: . Az F#-fordító ezután hozzárendeli square a kívánt int -> int típust (vagyis egy függvényt, amely egy függvényt int vesz fel és állít elő).int A hívás printfn egy formázott nyomtatási függvény, amely a C-stílusú programozási nyelvekhez hasonló formátumsztringet használ, a formátumsztringben megadott paramétereknek megfelelő paramétereket, majd kinyomtatja az eredményt és egy új sort.

A kód futtatása

A kód futtatásához és az eredmények megtekintéséhez kattintson a Felső szintű menü Futtatás parancsára, majd a Hibakeresés nélkül gombra. Ez hibakeresés nélkül futtatja a programot, és lehetővé teszi az eredmények megtekintését.

Ekkor megjelenik a következő, a Mac Visual Studio által megjelenített konzolablakra nyomtatva:

12 squared is 144!

Gratulálunk! Létrehozta az első F#-projektet a Mac Visual Studióban, írt egy F# függvényt a függvény meghívásának eredményeiből, és futtatta a projektet az eredmények megtekintéséhez.

Az F# Interactive használata

A Visual Studio for Mac F# eszközkészletének egyik legjobb funkciója az F# interaktív ablak. Lehetővé teszi, hogy kódot küldjön egy folyamatnak, ahol meghívhatja a kódot, és interaktívan megtekintheti az eredményt.

A használat megkezdéséhez jelölje ki a square kódban definiált függvényt. Ezután kattintson a Felső szintű menü Szerkesztés parancsára . Ezután válassza a Kijelölés küldése az F# Interactive alkalmazásba lehetőséget. Ez végrehajtja a kódot az F# interaktív ablakban. Másik lehetőségként kattintson a jobb gombbal a kijelölésre, és válassza a Kijelölés küldése az F# Interactive alkalmazásba lehetőséget. Az F# interaktív ablaknak a következővel kell megjelennie:

>

val square: x: int -> int

>

Ez ugyanazt a függvény-aláírást square jeleníti meg, amelyet korábban látott, amikor a függvény fölé viszi az egérmutatót. Mivel square az F# Interaktív folyamat már definiálva van, különböző értékekkel hívhatja meg:

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

Ez végrehajtja a függvényt, az eredményt egy új névhez itköti, és megjeleníti a függvény típusát és értékét it. Vegye figyelembe, hogy minden sort le kell zárnia a következővel ;;: . Az F# Interactive így tudja, hogy a függvényhívás befejeződött. Új függvényeket is definiálhat az F# Interactiveban:

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

val isOdd: x: int -> bool

> isOdd 12;;
val it: bool = false

A fentiek egy új függvényt határoznak meg, amely egy int adott függvényt vesz igénybe, isOddés ellenőrzi, hogy páratlan-e! Ezt a függvényt meghívva megtekintheti, hogy mit ad vissza különböző bemenetekkel. Függvényeket függvényhívásokkal hívhat meg:

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

A csőátirányítási operátorral az értéket a két függvénybe is be lehet illeszteni:

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

A csőátirányítási operátort és egyebeket a későbbi oktatóanyagok ismertetik.

Ez csak egy pillantást vet az F# Interactive használatával elvégezhető műveletekre. További információ: Interaktív programozás az F#-tal.

Következő lépések

Ha még nem tette meg, tekintse meg az F#-bemutatót, amely az F# néhány alapvető funkcióját ismerteti. Áttekintést nyújt az F# egyes képességeiről, és bőséges kódmintákat biztosít, amelyeket átmásolhat a Mac Visual Studióba, és futtathat. Az F# útmutatóban bemutatott nagyszerű külső erőforrásokat is használhatja.

Lásd még