Nyckelordsreferens
Det här avsnittet innehåller länkar till information om alla nyckelord för F#-språk.
Nyckelordstabell för F#
I följande tabell visas alla F#-nyckelord i alfabetisk ordning, tillsammans med korta beskrivningar och länkar till relevanta ämnen som innehåller mer information.
Nyckelord | Länka | beskrivning |
---|---|---|
abstract |
Medlemmar Abstrakta klasser |
Anger en metod som antingen inte har någon implementering i den typ där den deklareras eller som är virtuell och har en standardimplementering. |
and |
let BindningarPoster Medlemmar Restriktioner |
Används i ömsesidigt rekursiva bindningar och poster, i egenskapsdeklarationer och med flera begränsningar för generiska parametrar. |
as |
Klasser Mönstermatchning |
Används för att ge det aktuella klassobjektet ett objektnamn. Används också för att ge ett namn till ett helt mönster inom en mönstermatchning. |
assert |
Påståenden | Används för att verifiera kod under felsökning. |
base |
Klasser Arv |
Används som namnet på basklassobjektet. |
begin |
Utförlig syntax | I utförlig syntax anger inledningen av ett kodblock. |
class |
Klasser | I utförlig syntax anger inledningen av en klassdefinition. |
default |
Medlemmar | Anger en implementering av en abstrakt metod. används tillsammans med en abstrakt metoddeklaration för att skapa en virtuell metod. |
delegate |
Delegater | Används för att deklarera ett ombud. |
do |
göra bindningar Loopar: for...to UttryckLoopar: for...in UttryckLoopar: while...do Uttryck |
Används i loopkonstruktioner eller för att köra imperativ kod. |
done |
Utförlig syntax | I utförlig syntax anger slutet på ett kodblock i ett loopningsuttryck. |
downcast |
Gjutning och konverteringar | Används för att konvertera till en typ som är lägre i arvskedjan. |
downto |
Loopar: for...to Uttryck |
I ett for uttryck används när du räknar i omvänd ordning. |
elif |
Villkorsstyrda uttryck: if...then...else |
Används i villkorsstyrd förgrening. En kort form av else if . |
else |
Villkorsstyrda uttryck: if...then...else |
Används i villkorsstyrd förgrening. |
end |
Structs Diskriminerade fackföreningar Poster Typtillägg Utförlig syntax |
I typdefinitioner och typtillägg anger du slutet på ett avsnitt med medlemsdefinitioner. I utförlig syntax används för att ange slutet på ett kodblock som börjar med nyckelordet begin . |
exception |
Undantagshantering Undantagstyper |
Används för att deklarera en undantagstyp. |
extern |
Externa funktioner | Anger att ett deklarerat programelement definieras i en annan binär fil eller sammansättning. |
false |
Primitiva typer | Används som en boolesk literal. |
finally |
Undantag: Uttrycket try...finally |
Används tillsammans med try för att introducera ett kodblock som körs oavsett om ett undantag inträffar. |
fixed |
Fast | Används för att "fästa" en pekare på stacken för att förhindra att den samlas in skräp. |
for |
Loopar: for...to UttryckLoopar: för... i uttryck |
Används i loopkonstruktioner. |
fun |
Lambda-uttryck: Nyckelordet fun |
Används i lambda-uttryck, även kallade anonyma funktioner. |
function |
Matcha uttryck Lambda Uttryck: Det roliga nyckelordet |
Används som ett kortare alternativ till nyckelordet fun och ett match uttryck i ett lambda-uttryck som har mönstermatchning på ett enda argument. |
global |
Namnområden | Används för att referera till .NET-namnområdet på den översta nivån. |
if |
Villkorsstyrda uttryck: if...then...else |
Används i konstruktioner för villkorsstyrd förgrening. |
in |
Loopar: för... i uttryck Utförlig syntax |
Används för sekvensuttryck och, i utförlig syntax, för att separera uttryck från bindningar. |
inherit |
Arv | Används för att ange en basklass eller ett basgränssnitt. |
inline |
Funktioner Infogade funktioner |
Används för att ange en funktion som ska integreras direkt i anroparens kod. |
interface |
Gränssnitt | Används för att deklarera och implementera gränssnitt. |
internal |
Access Control | Används för att ange att en medlem är synlig i en sammansättning men inte utanför den. |
lazy |
Lata uttryck | Används för att ange ett uttryck som endast ska utföras när ett resultat behövs. |
let |
let Bindningar |
Används för att associera, eller binda, ett namn till ett värde eller en funktion. |
let! |
Asynkrona uttryck Uppgiftsuttryck Beräkningsuttryck |
Används i asynkrona uttryck för att binda ett namn till resultatet av en asynkron beräkning, eller i andra beräkningsuttryck som används för att binda ett namn till ett resultat, vilket är av beräkningstypen. |
match |
Matcha uttryck | Används för att förgrena genom att jämföra ett värde med ett mönster. |
match! |
Beräkningsuttryck | Används för att infoga ett anrop till ett beräkningsuttryck och mönstermatchning på resultatet. |
member |
Medlemmar | Används för att deklarera en egenskap eller metod i en objekttyp. |
module |
Modules | Används för att associera ett namn med en grupp med relaterade typer, värden och funktioner för att logiskt skilja det från annan kod. |
mutable |
låt bindningar | Används för att deklarera en variabel, det vill säga ett värde som kan ändras. |
namespace |
Namnområden | Används för att associera ett namn med en grupp med relaterade typer och moduler för att logiskt skilja det från annan kod. |
new |
Konstruktörer Restriktioner |
Används för att deklarera, definiera eller anropa en konstruktor som skapar eller som kan skapa ett objekt. Används också i allmänna parameterbegränsningar för att indikera att en typ måste ha en viss konstruktor. |
not |
Symbol- och operatorreferens Restriktioner |
Inte ett nyckelord. I kombination används dock not struct som en allmän parameterbegränsning. |
null |
Null-värden Restriktioner |
Anger frånvaron av ett objekt. Används även i allmänna parameterbegränsningar. |
of |
Diskriminerade fackföreningar Delegater Undantagstyper |
Används i diskriminerade fackföreningar för att ange typ av värdekategorier samt i ombuds- och undantagsdeklarationer. |
open |
Importdeklarationer: Nyckelordet open |
Används för att göra innehållet i ett namnområde eller en modul tillgängligt utan kvalificering. |
or |
Symbol- och operatorreferens Restriktioner |
Används med booleska villkor som boolesk or operator. Motsvarar ||.Används även i medlemsbegränsningar. |
override |
Medlemmar | Används för att implementera en version av en abstrakt eller virtuell metod som skiljer sig från basversionen. |
private |
Access Control | Begränsar åtkomsten till en medlem till kod i samma typ eller modul. |
public |
Access Control | Tillåter åtkomst till en medlem utanför typen. |
rec |
Funktioner | Används för att indikera att en funktion är rekursiv. |
return |
Beräkningsuttryck Asynkrona uttryck Uppgiftsuttryck |
Används för att ange ett värde som ska anges som ett resultat av ett beräkningsuttryck. |
return! |
Beräkningsuttryck Asynkrona uttryck Uppgiftsuttryck |
Används för att ange ett beräkningsuttryck som, när det utvärderas, ger resultatet av det innehållande beräkningsuttrycket. |
select |
Frågeuttryck | Används i frågeuttryck för att ange vilka fält eller kolumner som ska extraheras. Observera att det här är ett kontextuellt nyckelord, vilket innebär att det faktiskt inte är ett reserverat ord och att det bara fungerar som ett nyckelord i lämplig kontext. |
static |
Medlemmar | Används för att ange en metod eller egenskap som kan anropas utan en instans av en typ eller en värdemedlem som delas mellan alla instanser av en typ. |
struct |
Structs Tupler Restriktioner |
Används för att deklarera en strukturtyp. Används för att ange en struct tuppeln. Används även i allmänna parameterbegränsningar. Används för OCaml-kompatibilitet i moduldefinitioner. |
then |
Villkorsstyrda uttryck: if...then...else Konstruktörer |
Används i villkorsuttryck. Används också för att utföra biverkningar efter objektkonstruktion. |
to |
Loopar: for...to Uttryck |
Används i for loopar för att ange ett intervall. |
true |
Primitiva typer | Används som en boolesk literal. |
try |
Undantag: Försök... med uttryck Undantag: Försök... äntligen uttryck |
Används för att introducera ett kodblock som kan generera ett undantag. Används tillsammans med with eller finally . |
type |
F#-typer Klasser Poster Structs Uppräkningar Diskriminerade fackföreningar Skriv förkortningar Måttenheter |
Används för att deklarera en klass, post, struktur, diskriminerad union, uppräkningstyp, måttenhet eller typförkortning. |
upcast |
Gjutning och konverteringar | Används för att konvertera till en typ som är högre i arvskedjan. |
use |
Resurshantering: Nyckelordet use |
Används i stället let för för värden som kräver Dispose att anropas till kostnadsfria resurser. |
use! |
Beräkningsuttryck Asynkrona uttryck Uppgiftsuttryck |
Används i stället för let! i asynkrona uttryck och andra beräkningsuttryck för värden som måste Dispose anropas för att frigöra resurser. |
val |
Explicita fält: Nyckelordet val Signaturer Medlemmar |
Används i en signatur för att ange ett värde, eller i en typ för att deklarera en medlem, i begränsade situationer. |
void |
Primitiva typer | Anger .NET-typen void . Används när du samverkar med andra .NET-språk. |
when |
Restriktioner | Används för booleska villkor (när skydd) på mönster matchar och för att införa en begränsningssats för en generisk typparameter. |
while |
Loopar: while...do Uttryck |
Introducerar en loopkonstruktion. |
with |
Matcha uttryck Objektuttryck Kopiera och uppdatera postuttryck Typtillägg Undantag: Uttrycket try...with |
Används tillsammans med nyckelordet match i mönstermatchningsuttryck. Används även i objektuttryck, postkopieringsuttryck och typtillägg för att introducera medlemsdefinitioner och för att introducera undantagshanterare. |
yield |
Listor, matriser, sekvenser | Används i en lista, en matris eller ett sekvensuttryck för att skapa ett värde för en sekvens. Vanligtvis kan utelämnas, eftersom det är implicit i de flesta situationer. |
yield! |
Beräkningsuttryck Asynkrona uttryck Uppgiftsuttryck |
Används i ett beräkningsuttryck för att lägga till resultatet av ett givet beräkningsuttryck i en samling resultat för det innehållande beräkningsuttrycket. |
const |
Typprovidrar | Typprovidrar tillåter användning av const som nyckelord för att ange en konstant literal som ett typparameterargument. |
Följande token är reserverade i F# eftersom de är nyckelord på OCaml-språket:
asr
land
lor
lsl
lsr
lxor
mod
sig
Om du använder --mlcompatibility
kompileringsalternativet är ovanstående nyckelord tillgängliga för användning som identifierare.
Följande token är reserverade som nyckelord för framtida expansion av F#:
break
checked
component
const
constraint
continue
event
external
include
mixin
parallel
process
protected
pure
sealed
tailcall
trait
virtual
Följande token reserverades en gång som nyckelord men släpptes i F# 4.1, så nu kan du använda dem som identifierare:
Nyckelord | Anledning |
---|---|
method |
Använd member för att introducera metoder. |
constructor |
Använd new för att introducera konstruktorer. |
atomic |
Relaterat till modeflugan för transaktionsminnet cirka 2006. Detta skulle nu vara ett biblioteksdefinierat beräkningsuttryck. |
eager |
Behövs inte längre. Den utformades ursprungligen för att matcha let eager en potentiell let lazy . |
object |
Du behöver inte reservera detta. |
recursive |
Använd rec . |
functor |
Om F# har lagt till parametriserade moduler använder module M(args) = ... du . |
measure |
Attributet [<Measure>] räcker. |
volatile |
Attributet [<Volatile>] räcker. |