F# nyelvi referencia

Ez a szakasz az F#, a .NET-et célzó több paradigma programozási nyelv referenciája. Az F# támogatja a funkcionális, objektumorientált és imperatív programozási modelleket.

F#-kód rendszerezése

Az alábbi táblázat az F#-kód rendszerezésével kapcsolatos referenciacikkeket mutatja be.

Cím Leírás
Névterek További információ az F# névtértámogatásáról. A névtér lehetővé teszi a kód kapcsolódó funkciókba rendezését azáltal, hogy lehetővé teszi egy név csatolását a programelemek egy csoportjához.
Modulok Tudnivalók a modulokról. Az F#-modulok olyanok, mint a névterek, és értékeket és függvényeket is tartalmazhatnak. A modulokba csoportosított kód segít együtt tartani a kapcsolódó kódot, és segít elkerülni a névütközéseket a programban.
open Nyilatkozatok További információ a open működésről. A open deklaráció olyan modult, névteret vagy típust határoz meg, amelynek elemeire teljes név használata nélkül hivatkozhat.
Aláírások Tudnivalók az aláírásokról és az aláírásfájlokról. Az aláírásfájl információkat tartalmaz az F#-programelemek (például típusok, névterek és modulok) nyilvános aláírásairól. Segítségével megadhatja ezeknek a programelemeknek az akadálymentességét.
Hozzáférés-vezérlés Tudnivalók az F# hozzáférés-vezérléséről. A hozzáférés-vezérlés azt jelenti, hogy deklarálják, mely ügyfelek használhatnak bizonyos programelemeket, például típusokat, metódusokat, függvényeket stb.
XML-dokumentáció Ismerje meg, hogyan lehet dokumentációs fájlokat létrehozni XML-dokumentumbeli megjegyzésekből, más néven tripla perjeles megjegyzésekből. A .NET-nyelvekhez hasonlóan F# nyelven is készíthet dokumentációt a kód megjegyzéseiből.

Literálok és sztringek

Az alábbi táblázat referenciacikkeket tartalmaz, amelyek az F#-ban lévő literálokat és sztringeket írják le.

Cím Leírás
Literálok Ismerje meg az F# literálértékeinek szintaxisát és az F#-literálok típusadatainak megadását.
Sztringek Tudnivalók az F# sztringjeiről. A string típus nem módosítható szöveget jelöl Unicode-karakterek sorozataként. string is an alias for System.String in .NET.
Interpolált sztringek Megismerkedhet az interpolált sztringekkel, amelyek egy speciális sztringforma, amellyel F#-kifejezéseket ágyazhat be közvetlenül a sztringekbe.

Értékek és függvények

Az alábbi táblázat referenciacikkeket tartalmaz, amelyek az értékekhez, let-kötésekhez és függvényekhez kapcsolódó nyelvi fogalmakat ismertetik.

Cím Leírás
Értékek Megismerheti azokat az értékeket, amelyek nem módosítható mennyiségek, amelyek egy adott típussal rendelkeznek; az értékek lehetnek egész vagy lebegőpontos számok, karakterek vagy szövegek, listák, sorozatok, tömbök, rekordok, diszkriminált egyesítések, rekordok, osztálytípusok vagy függvényértékek.
Functions A függvények a program végrehajtásának alapvető egységei bármely programozási nyelven. Az F#-függvényeknek van neve, lehetnek paramétereik, argumentumokat vehetnek fel, és törzsük is van. Az F# olyan funkcionális programozási szerkezeteket is támogat, mint a függvények értékként való kezelése, névtelen függvények használata kifejezésekben, függvények összetétele új függvények létrehozásához, curried függvények létrehozása, valamint a függvények implicit definíciója a függvényargumentumok részleges alkalmazásával.
Függvénykifejezések Megtudhatja, hogyan használhatja az F# "fun" kulcsszót egy lambda kifejezés definiálásához, amely egy névtelen függvény.

Hurkok és feltételes elemek

Az alábbi táblázat az F#-ciklusokat és a feltételes értékeket leíró cikkeket sorolja fel.

Cím Leírás
Feltételes kifejezések: if...then...else Megismerkedhet a if...then...else kifejezéssel, amely a kód különböző ágait futtatja, és a megadott logikai kifejezéstől függően más értéket ad vissza.
Hurkok: for...in Kifejezés Megismerkedhet a for...in kifejezéssel, egy hurkoló szerkezettel, amely egy enumerálható gyűjtemény mintáinak egyezéseit iterálja, például tartománykifejezést, sorozatot, listát, tömböt vagy más olyan szerkezetet, amely támogatja az enumerálást.
Hurkok: for...to Kifejezés Ismerje meg a for...to kifejezést, amely egy ciklusban egy ciklusváltozó értéktartományán való iterálására szolgál.
Hurkok: while...do Kifejezés Ismerje meg a while...do kifejezést, amely iteratív végrehajtás (ismétlés) végrehajtására szolgál, miközben egy megadott tesztfeltétel teljesül.

Mintaegyeztetés

Az alábbi táblázat a nyelvi fogalmakat leíró referenciacikkeket mutatja be.

Cím Leírás
Mintaegyeztetés Megismerheti a mintákat, amelyek a bemeneti adatok átalakításának szabályai, és az F# teljes területén használhatók. Összehasonlíthatja az adatokat egy mintával, lebonthatja az adatokat alkotó részekre, vagy különböző módokon nyerhet ki információkat az adatokból.
Kifejezések egyeztetése Ismerje meg a match kifejezést, amely elágaztatási vezérlőt biztosít, amely egy kifejezés és egy mintakészlet összehasonlításán alapul.
Aktív minták Ismerje meg az aktív mintákat. Az aktív minták lehetővé teszik a bemeneti adatok felosztására szolgáló elnevezett partíciók meghatározását. Az aktív mintákkal testre szabott módon bonthatja fel az adatokat az egyes partíciókhoz.

Kivételkezelés

Az alábbi táblázat referenciacikkeket tartalmaz, amelyek a kivételkezeléssel kapcsolatos nyelvi fogalmakat ismertetik.

Cím Leírás
Kivételkezelés Az F# kivételkezelési támogatásával kapcsolatos információkat tartalmaz.
A try...with kifejezés Megtudhatja, hogyan használhatja a kifejezést a try...with kivételkezeléshez.
A try...finally kifejezés Megtudhatja, hogyan teszi lehetővé az F# try...finally -kifejezés a tisztítási kód végrehajtását, még akkor is, ha egy kódblokk kivételt jelez.
A use kulcsszó Megismerheti az erőforrások inicializálását és kiadását szabályozó kulcsszavakat use és usingazokat.
Állításokat Megismerkedhet a assert kifejezéssel, amely egy kifejezés tesztelésére használható hibakeresési funkció. Hibakeresési módban történő hiba esetén egy helyességi feltétel rendszerhiba-párbeszédpanelt hoz létre.

Típusok és típuskövetkeztetés

Az alábbi táblázat referenciacikkeket tartalmaz, amelyek ismertetik a típus- és típuskövetkeztetés működését az F#-ban.

Cím Leírás
Típusok Megismerheti az F# nyelvben használt típusokat, valamint az F#-típusok elnevezésének és leírásának módját.
Alaptípusok Megismerheti az F#-ban használt alapvető típusokat. Emellett biztosítja a megfelelő .NET-típusokat, valamint az egyes típusokhoz tartozó minimális és maximális értékeket.
Egység típusa Ismerje meg a unit típust, amely egy adott érték hiányát jelzi; a unit típus csak egyetlen értékkel rendelkezik, amely helyőrzőként működik, ha nincs más érték, vagy ha nincs szükség rá.
Rövidítések beírása Ismerje meg a típus rövidítéseit, amelyek a típusok alternatív nevei.
Típuskövetkeztetés Ismerje meg, hogyan következtet az F#-fordító az értékek, változók, paraméterek és visszatérési értékek típusára.
Öntés és átalakítások További információ a típuskonverziók támogatásáról az F#-ban.
Generikus Tudnivalók az F# általános szerkezeteiről.
Automatikus általánosítás Megtudhatja, hogyan általánosítja automatikusan az F# az argumentumokat és a függvénytípusokat, hogy lehetőség szerint több típussal is működhessenek.
Korlátozások Megismerheti az általános típusparaméterekre vonatkozó korlátozásokat egy általános típus vagy függvény típusargumentumára vonatkozó követelmények meghatározásához.
Rugalmas típusok Ismerje meg a rugalmas típusokat. A rugalmas típusú széljegyzetek azt jelzik, hogy egy paraméter, változó vagy érték olyan típussal rendelkezik, amely kompatibilis a megadott típussal, ahol a kompatibilitást az osztályok vagy interfészek objektumorientált hierarchiájában elfoglalt pozíció határozza meg.
Mértékegységek Tudnivalók a mértékegységekről. Az F#-ban a lebegőpontos értékekhez hozzárendelt mértékegységek lehetnek, amelyek általában a hossz, a mennyiség, a tömeg stb. jelzésére szolgálnak.
Byrefs Megismerheti az F# byref és byref-szerű típusait, amelyek alacsony szintű programozáshoz használhatók.

Tuples, Lists, Collections, Options

Az alábbi táblázat az F# által támogatott típusokat leíró referenciacikkeket mutatja be.

Cím Leírás
Rekordok Megismerheti a rekordokat, amelyek névtelen, de esetleg különböző típusú rendezett értékek csoportosítását képezik.
Gyűjtemények Az F# funkcionális gyűjteménytípusainak áttekintése, beleértve a tömbök, listák, szekvenciák (seq), térképek és készletek típusait.
Listák További információ a listákról. Az F#-beli lista az azonos típusú elemek rendezett, nem módosítható sorozata.
Beállítások További információ a beállítástípusról. Az F# egyik beállítását akkor használja a rendszer, ha egy érték esetleg létezik vagy nem létezik. Egy lehetőség mögöttes típussal rendelkezik, és vagy rendelkezik ilyen típusú értékkel, vagy nem rendelkezik értékkel.
Tömbök Tudnivalók a tömbökről. A tömbök állandó méretű, nulla alapú, egymást követő adatelemekből álló, azonos típusú, módosítható sorozatok.
Sorozatok További információ a sorozatokról. A szekvencia egy logikai elemsorozat, amely egyetlen típusból áll. Az egyes szekvenciális elemeket csak szükség esetén számítja ki a rendszer, így a reprezentáció kisebb lehet, mint a konstanselemek száma.
Szekvenciakifejezések Megismerheti a szekvenciakifejezéseket, amelyekkel igény szerint hozhat létre adatsorozatokat.
Hivatkozáscellák Megismerheti a referenciacellákat, amelyek olyan tárolási helyek, amelyek lehetővé teszik a változók referencia-szemantikával történő létrehozását.

Nyilvántartások és diszkriminált uniók

Az alábbi táblázat olyan referenciacikkeket tartalmaz, amelyek az F# által támogatott rekord- és megkülönböztetésmentes egyesítő típusdefiníciókat ismertetik.

Cím Leírás
Rekordok Tudnivalók a rekordokról. A rekordok a névvel ellátott értékek egyszerű összesítéseit jelölik, opcionálisan a tagokkal együtt.
Névtelen rekordok Megtudhatja, hogyan hozhat létre és használhat névtelen rekordokat, amelyek segítenek az adatok kezelésében.
Megkülönböztetésen áteső uniók Megismerheti a megkülönböztetésen áteső egyesítőket, amelyek támogatják azokat az értékeket, amelyek a különböző nevesített esetek egyikét jelenthetik, amelyek mindegyike különböző értékekkel és típusokkal rendelkezik.
Struktúrák Megismerheti a szerkezeteket, amelyek olyan kompakt objektumtípusok, amelyek hatékonyabbak lehetnek, mint egy osztály a kis mennyiségű adatokkal és egyszerű viselkedéssel rendelkező típusok esetében.
Enumerálások Az enumerálások olyan típusok, amelyek nevesített értékek meghatározott készletével rendelkeznek. A literálok helyett használva olvashatóbbá és karbantarthatóbbá teheti a kódot.

Objektumprogramozás

Az alábbi táblázat az F#-objektumprogramozást leíró referenciacikkeket mutatja be.

Cím Leírás
Osztályok Megismerheti az osztályokat, amelyek olyan típusok, amelyek tulajdonságokat, metódusokat és eseményeket tartalmazó objektumokat képviselnek.
Interfészek Megismerheti a felületeket, amelyek a más osztályok által implementálható kapcsolódó tagok csoportjait határozzák meg.
Absztrakt osztályok Megismerheti az absztrakt osztályokat, amelyek olyan osztályok, amelyek néhány vagy az összes tagot akadálytalanul hagynak, hogy az implementációkat származtatott osztályok biztosíthassák.
Típusbővítmények Ismerje meg a típusbővítményeket, amelyekkel új tagokat adhat hozzá egy korábban definiált objektumtípushoz.
Delegáltak Megismerheti a delegáltakat, amelyek egy függvényhívást jelölnek objektumként.
Öröklődés Megismerheti az öröklődést, amely az "is-a" kapcsolat vagy altípus modellezésére szolgál az objektumorientált programozásban.
Tagok Megismerheti az F#-objektumtípusok tagjait.
Paraméterek és argumentumok Megismerheti a paraméterek definiálásának nyelvi támogatását, valamint az argumentumok függvényeknek, metódusoknak és tulajdonságoknak való átadását. A hivatkozás alapján történő továbbítással kapcsolatos információkat tartalmaz.
Operátor túlterhelése Megtudhatja, hogyan lehet túlterhelni az aritmetikai operátorokat egy osztály- vagy rekordtípusban, valamint globális szinten.
Objektumkifejezések Megismerheti az objektumkifejezéseket, amelyek olyan kifejezések, amelyek egy dinamikusan létrehozott, névtelen objektumtípus új példányait hozzák létre, amelyek egy meglévő alaptípuson, interfészen vagy illesztőkészleten alapulnak.

Async, Tasks és Lazy

Az alábbi táblázat az F#-aszinkron, feladat- és lusta kifejezéseket leíró témaköröket sorolja fel.

Cím Leírás
Aszinkron kifejezések Megismerheti az aszinkron kifejezéseket, amelyekkel aszinkron kódot írhat olyan módon, amely nagyon közel áll ahhoz, ahogyan természetesen szinkron kódot írna.
Tevékenységkifejezések Megismerheti a feladatkifejezéseket, amelyek a .NET-feladatokat használó vagy azokat előállító .NET-kódokkal való együttműködés során használt aszinkron kód írásának alternatív módjai.
Lusta kifejezések Megismerheti a szakaszolt kifejezéseket, amelyek olyan számítások, amelyeket nem azonnal, hanem akkor értékelnek ki, amikor ténylegesen szükség van az eredményre.

Számítási kifejezések és lekérdezések

Az alábbi táblázat az F#-számítási kifejezéseket és lekérdezéseket leíró témaköröket sorolja fel.

Cím Leírás
Számítási kifejezések Megismerheti az F#-ban használt számítási kifejezéseket, amelyek kényelmes szintaxist biztosítanak olyan számítások írásához, amelyek sorrendbe állíthatók és kombinálhatók vezérlőfolyamat-szerkezetekkel és kötésekkel. Segítségével kezelhetők az adatok, a vezérlés és a mellékhatások a funkcionális programokban.
Lekérdezési kifejezések Ismerje meg a lekérdezési kifejezéseket, amelyek az F#-hoz készült LINQ-t implementálják, és lehetővé teszik, hogy lekérdezéseket írjon egy adatforrásra vagy egy számba írható gyűjteményre.

Attribútumok, tükröződés, idézőjelek és egyszerű szövegformázás

Az alábbi táblázat az F#-reflektív jellemzőket, például attribútumokat, idézőjeleket nameofés egyszerű szövegformázást ismertető cikkeket sorolja fel.

Cím Leírás
Attribútumok Megtudhatja, hogyan teszik lehetővé az F#-attribútumok a metaadatok programozási szerkezetre való alkalmazását.
név Ismerje meg az nameof operátort, amely egy metaprogramozási funkció, amellyel bármilyen szimbólum nevét előállíthatja a forráskódban.
Hívó adatai Megtudhatja, hogyan használhatja a hívó információ argumentumattribútumait a hívó információk metódusból való lekéréséhez.
Forrásvonal-, fájl- és elérésiút-azonosítók Megismerheti az azonosítókat __LINE__, __SOURCE_DIRECTORY__és __SOURCE_FILE__azokat a beépített értékeket, amelyek lehetővé teszik a forrássor számának, könyvtárának és fájlnevének elérését a kódban.
Kódajánlatok Ismerje meg a kód idézőjeleit, amely egy olyan nyelvi funkció, amellyel programozott módon hozhat létre és használhat F#-kódkifejezéseket.
Egyszerű szövegformázás Ismerje meg, hogyan használható a sprintf és más egyszerű szövegformázás F#-alkalmazásokban és -szkriptekben.

Típusszolgáltatók

Az alábbi táblázat az F#-típusszolgáltatókat ismertető cikkeket sorolja fel.

Cím Leírás
Típusszolgáltatók Megismerheti a típusszolgáltatókat, és hivatkozásokat találhat az adatbázisokhoz és webszolgáltatásokhoz való hozzáféréshez a beépített típusszolgáltatók használatával kapcsolatos útmutatókhoz.
Típusszolgáltató létrehozása Megtudhatja, hogyan hozhat létre saját F#-típusszolgáltatókat az alapfogalmakat szemléltető egyszerű típusszolgáltatók vizsgálatával.

F# Core Library API-referencia

Az F# Core Library (FSharp.Core) API-referenciája az F# Core Library összes névterének, moduljának, típusának és függvényének referenciája.

Referenciatáblák

Az alábbi táblázat hivatkozási cikkeket tartalmaz, amelyek kulcsszavakat, szimbólumokat és literálokat tartalmazó táblázatokat biztosítanak, amelyeket az F#-ban tokenként használnak.

Cím Leírás
Kulcsszóreferencia Hivatkozásokat tartalmaz az összes F#-nyelv kulcsszóval kapcsolatos információkra.
Szimbólumok és operátorok referenciája Az F# nyelvben használt szimbólumok és operátorok táblázatát tartalmazza.

Fordító által támogatott szerkezetek

Az alábbi táblázat a speciális fordító által támogatott szerkezeteket leíró témaköröket sorolja fel.

Témakör Description
Fordító beállításai Az F#-fordító parancssori beállításait ismerteti.
Fordítói irányelvek Az F#-fordító által támogatott processzor- és fordítóirányelvek ismertetése.