Référence des mots clés
Cette rubrique contient des liens vers des informations sur tous les mots clés du langage F#.
Tableau de mots clés F#
Le tableau suivant montre tous les mots clés F# par ordre alphabétique, ainsi que de brèves descriptions et des liens vers des rubriques pertinentes qui contiennent plus d’informations.
Mot clé | Lien | Description |
---|---|---|
abstract |
Members (Membres) Classes abstraites |
Indique une méthode qui n’a aucune implémentation dans le type dans lequel elle est déclarée, ou qui est virtuelle avec une implémentation par défaut. |
and |
let LiaisonsEnregistrements Members (Membres) Contraintes |
Utilisé dans les liaisons et enregistrements mutuellement récursifs, dans les déclarations de propriété et avec plusieurs contraintes sur des paramètres génériques. |
as |
Classes Critères spéciaux |
Utilisé pour donner à l’objet de classe actif un nom d’objet. Également utilisé pour donner un nom à un modèle entier dans une correspondance de modèle. |
assert |
Assertions | Permet de vérifier le code durant le débogage. |
base |
Classes Héritage |
Utilisé comme nom de l’objet de classe de base. |
begin |
Syntaxe détaillée | En syntaxe détaillée, indique le début d’un bloc de code. |
class |
Classes | En syntaxe détaillée, indique le début d’une définition de classe. |
default |
Members (Membres) | Indique l’implémentation d’une méthode abstraite et s’utilise avec une déclaration de méthode abstraite pour créer une méthode virtuelle. |
delegate |
Délégués | Permet de déclarer un délégué. |
do |
Liaisons do Boucles : expression for...to Boucles : expression for...in Boucles : expression while...do |
Utilisé dans les constructions de boucles ou pour exécuter du code impératif. |
done |
Syntaxe détaillée | En syntaxe détaillée, indique la fin d’un bloc de code dans une expression de boucle. |
downcast |
Cast et conversions | Permet de convertir en un type inférieur dans la chaîne d’héritage. |
downto |
Boucles : expression for...to |
Dans une expression for , utilisé lors du comptage inverse. |
elif |
Expressions conditionnelles : if...then...else |
Sert lors la création de branche conditionnelle. Forme abrégée de else if . |
else |
Expressions conditionnelles : if...then...else |
Sert lors la création de branche conditionnelle. |
end |
Structures Unions discriminées Enregistrements Extensions de type Syntaxe détaillée |
Dans les définitions de type et les extensions de type, indique la fin d’une section de définitions de membres. Dans la syntaxe détaillée, sert à spécifier la fin d’un bloc de code commençant par le mot clé begin . |
exception |
Gestion des exceptions Types d'exceptions |
Permet de déclarer un type d’exception. |
extern |
Fonctions externes | Indique qu’un élément de programme déclaré est défini dans une autre ressource binaire ou un autre assembly. |
false |
Types primitifs | Utilisé comme littéral booléen. |
finally |
Exceptions : expression try...finally |
Utilisé avec try pour introduire un bloc de code qui s’exécute indépendamment de toute exception. |
fixed |
Fixe | Utilisé pour « épingler » un pointeur sur la pile afin d’éviter qu’il soit nettoyé. |
for |
Boucles : expression for...to Boucles : expression for...in |
Utilisé dans les constructions de boucle. |
fun |
Expressions lambda : le fun mot clé |
Utilisé dans les expressions lambda, également appelées fonctions anonymes. |
function |
Expressions de correspondance Expressions lambda : mot clé fun |
Utilisé comme alternative plus courte au mot clé fun et à une expression match dans une expression lambda ayant des critères spéciaux sur un argument unique. |
global |
Espaces de noms | Permet de référencer l’espace de noms .NET de niveau supérieur. |
if |
Expressions conditionnelles : if...then...else |
Utilisé dans les constructions de création de branche conditionnelle. |
in |
Boucles : expression for...in Syntaxe détaillée |
Utilisé pour les expressions de séquence et, en syntaxe détaillée, pour séparer les expressions des liaisons. |
inherit |
Héritage | Permet de spécifier une classe de base ou une interface de base. |
inline |
Fonctions Fonctions inline |
Permet d’indiquer une fonction qui doit être intégrée directement dans le code de l’appelant. |
interface |
Interfaces | Permet de déclarer et d’implémenter des interfaces. |
internal |
Contrôle d’accès | Permet de spécifier qu’un membre est visible dans un assembly mais pas à l’extérieur de celui-ci. |
lazy |
Expressions différées | Permet de spécifier une expression qui doit être exécutée uniquement lorsqu’un résultat est nécessaire. |
let |
let Liaisons |
Permet d’associer, ou de lier, un nom à une valeur ou une fonction. |
let! |
Expressions asynchrones Expressions de tâche Expressions de calcul |
Utilisé dans les expressions asynchrones pour lier un nom au résultat d’un calcul asynchrone ou, dans d’autres expressions de calcul, utilisé pour lier un nom à un résultat, qui est du type de calcul. |
match |
Expressions de correspondance | Permet de créer une branche en comparant une valeur à un modèle. |
match! |
Expressions de calcul | Permet d’inliner un appel dans une expression de calcul et une correspondance de modèle sur son résultat. |
member |
Members (Membres) | Permet de déclarer une propriété ou une méthode dans un type d’objet. |
module |
Modules | Permet d’associer un nom à un groupe de types, valeurs et fonctions connexes, pour le séparer de manière logique du reste du code. |
mutable |
Liaisons let | Permet de déclarer une variable, c’est-à-dire une valeur qui peut être modifiée. |
namespace |
Espaces de noms | Permet d’associer un nom à un groupe de types et de modules connexes, pour le séparer de manière logique du reste du code. |
new |
Constructeurs Contraintes |
Utilisé pour déclarer, définir ou appeler un constructeur qui crée ou peut créer un objet. Également utilisé dans les contraintes de paramètre générique pour indiquer qu’un type doit avoir un certain constructeur. |
not |
Informations de référence des symboles et opérateurs Contraintes |
Pas vraiment un mot clé. Toutefois, not struct en combinaison est utilisé comme contrainte de paramètre générique. |
null |
Valeurs Null Contraintes |
Indique l’absence d’un objet. Également utilisé dans les contraintes de paramètres génériques. |
of |
Unions discriminées Délégués Types d'exceptions |
Utilisé dans les unions discriminées pour indiquer le type des catégories de valeurs, ainsi que dans les déclarations de délégué et d’exception. |
open |
Déclarations d’importation : mot clé open |
Permet de rendre disponible le contenu d’un espace de noms ou d’un module sans qualification. |
or |
Informations de référence des symboles et opérateurs Contraintes |
Utilisé avec des conditions booléennes en tant qu’opérateur or booléen. Équivalent à ||.Également utilisé dans les contraintes de membre. |
override |
Members (Membres) | Permet d’implémenter une version d’une méthode abstraite ou virtuelle qui diffère de la version de base. |
private |
Contrôle d’accès | Restreint l’accès à un membre au code situé dans le même type ou module. |
public |
Contrôle d’accès | Autorise l’accès à un membre en dehors du type. |
rec |
Fonctions | Permet d’indiquer qu’une fonction est récursive. |
return |
Expressions de calcul Expressions asynchrones Expressions de tâche |
Utilisé pour indiquer une valeur à fournir comme résultat d’une expression de calcul. |
return! |
Expressions de calcul Expressions asynchrones Expressions de tâche |
Utilisé pour indiquer une expression de calcul qui, lorsqu’elle est évaluée, fournit le résultat de l’expression de calcul contenante. |
select |
Expressions de requête | Utilisé dans les expressions de requête pour spécifier les champs ou colonnes à extraire. Notez qu’il s’agit d’un mot clé contextuel, ce qui signifie qu’il ne s’agit pas d’un mot réservé et qu’il agit uniquement comme un mot clé dans le contexte approprié. |
static |
Members (Membres) | Permet d’indiquer une méthode ou une propriété qui peut être appelée sans instance d’un type, ou un membre de valeur partagé entre toutes les instances d’un type. |
struct |
Structures Tuples Contraintes |
Utilisé pour déclarer un type de structure. Utilisé pour spécifier un tuple de struct. Également utilisé dans les contraintes de paramètres génériques. Utilisé pour la compatibilité OCaml dans les définitions de module. |
then |
Expressions conditionnelles : if...then...else Constructeurs |
Utilisé dans les expressions conditionnelles. Également utilisé pour les effets secondaires après la construction de l’objet. |
to |
Boucles : expression for...to |
Utilisé dans les boucles for pour indiquer une plage. |
true |
Types primitifs | Utilisé comme littéral booléen. |
try |
Exceptions : expression try...with Exceptions : expression try...finally |
Permet d’introduire un bloc de code susceptible de générer une exception. Utilisé avec with ou finally . |
type |
Types F# Classes Enregistrements Structures Énumérations Unions discriminées Abréviations de types Unités de mesure |
Permet de déclarer une classe, un enregistrement, une structure, une union discriminée, un type énumération, une unité de mesure ou une abréviation de type. |
upcast |
Cast et conversions | Permet de convertir en un type supérieur dans la chaîne d’héritage. |
use |
Gestion des ressources : mot clé use |
Utilisé au lieu de let pour les valeurs qui nécessitent Dispose pour être appelées à libérer des ressources. |
use! |
Expressions de calcul Expressions asynchrones Expressions de tâche |
Utilisé au lieu de let! dans les expressions asynchrones et d’autres expressions de calcul pour les valeurs qui nécessitent Dispose pour être appelées à libérer des ressources. |
val |
Champs explicites : mot clé val Signatures Members (Membres) |
Utilisé dans une signature pour indiquer une valeur, ou dans un type pour déclarer un membre, dans des situations limitées. |
void |
Types primitifs | Indique le type .NET void . Utilisé lors de l’interopérabilité avec d’autres langages .NET. |
when |
Contraintes | Utilisé pour les conditions booléennes (when guards) sur des critères spéciaux et pour introduire une clause de contrainte d’un paramètre de type générique. |
while |
Boucles : expression while...do |
Introduit une construction de boucle. |
with |
Expressions de correspondance Expressions d'objet Copie et mise à jour des expressions d’enregistrement Extensions de type Exceptions : expression try...with |
Utilisé avec le mot clé match dans les expressions de correspondance de modèle. Également utilisé dans les expressions d’objet, les expressions de copie d’enregistrements et les extensions de type pour introduire des définitions de membres et des gestionnaires d’exceptions. |
yield |
Listes, Tableaux, Séquences | Utilisé dans une liste, un tableau ou une expression de séquence pour produire une valeur pour une séquence. En règle générale, il peut être omis, car il est implicite dans la plupart des situations. |
yield! |
Expressions de calcul Expressions asynchrones Expressions de tâche |
Utilisé dans une expression de calcul pour ajouter le résultat d’une expression de calcul donnée à une collection de résultats pour l’expression de calcul conteneur. |
const |
Fournisseurs de type | Les fournisseurs de types permettent d’utiliser const comme mot clé pour spécifier un littéral constant en tant qu’argument de paramètre de type. |
Les jetons suivants sont réservés en F#, car il s’agit de mots clés dans le langage OCaml :
asr
land
lor
lsl
lsr
lxor
mod
sig
Si vous utilisez l’option de compilateur --mlcompatibility
, les mots clés ci-dessus sont disponibles pour une utilisation en tant qu’identificateurs.
Les jetons suivants sont réservés en tant que mots clés pour l’expansion future de F# :
break
checked
component
const
constraint
continue
event
external
include
mixin
parallel
process
protected
pure
sealed
tailcall
trait
virtual
Les jetons suivants étaient auparavant réservés en tant que mots clés, mais ont été libérés dans F# 4.1. Vous pouvez donc les utiliser comme identificateurs :
Mot clé | Motif |
---|---|
method |
Utilisez member pour introduire des méthodes. |
constructor |
Utilisez new pour introduire des constructeurs. |
atomic |
Lié à la mode de la mémoire transactionnelle en 2006. Il s’agit désormais d’une expression de calcul définie par la bibliothèque. |
eager |
Plus nécessaire; il a été initialement conçu pour être let eager pour correspondre à un potentiel let lazy . |
object |
Il n’est pas nécessaire de le réserver. |
recursive |
Utiliser rec . |
functor |
Si F# ajoutait des modules paramétrables, vous utiliseriez module M(args) = ... . |
measure |
L’attribut [<Measure>] suffit. |
volatile |
L’attribut [<Volatile>] suffit. |