Partager via


Informations de référence sur les mots clés

Cette rubrique contient des liens vers des informations sur tous les mots clés de langage F#.

Table de mots clés F#

Le tableau suivant présente tous les mots clés F# par ordre alphabétique, ainsi que des descriptions brèves et des liens vers des rubriques pertinentes qui contiennent plus d’informations.

Mot-clé Lien Descriptif
abstract Membres

classes abstraites
Indique une méthode qui n’a aucune implémentation dans le type dans lequel elle est déclarée ou virtuelle et qui a une implémentation par défaut.
and let Liaisons

Enregistrements

Membres

Contraintes
Utilisé dans les liaisons et enregistrements récursifs mutuellement, dans les déclarations de propriétés et avec plusieurs contraintes sur les paramètres génériques.
as Classes

Correspondance de motifs
Utilisé pour donner à l’objet de classe actuel un nom d’objet. Également utilisé pour donner un nom à un modèle entier dans une correspondance de modèle.
assert Affirmations Utilisé pour vérifier le code pendant le débogage.
base Classes

Héritage
Utilisé comme nom de l’objet de classe de base.
begin Syntaxe détaillée Dans la syntaxe détaillée, indique le début d’un bloc de code.
class Classes Dans la syntaxe détaillée, indique le début d’une définition de classe.
default Membres Indique une implémentation d’une méthode abstraite ; utilisé avec une déclaration de méthode abstraite pour créer une méthode virtuelle.
delegate délégués Utilisé pour déclarer un délégué.
do effectuer des liaisons

Boucles : for...to expression

Boucles : for...in expression

Boucles : while...do expression
Utilisé dans les constructions de bouclage ou pour exécuter du code impératif.
done Syntaxe détaillée Dans la syntaxe détaillée, indique la fin d’un bloc de code dans une expression de bouclage.
downcast Conversion et conversion Permet de convertir en type inférieur dans la chaîne d’héritage.
downto Boucles : for...to expression Dans une for expression, utilisée lors du comptage inverse.
elif Expressions conditionnelles : if...then...else Utilisé dans le branchement conditionnel. Une forme courte de else if.
else Expressions conditionnelles : if...then...else Utilisé dans le branchement conditionnel.
end Structures

Unions discriminatoires

Enregistrements

Type Extensions

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, utilisée pour spécifier la fin d’un bloc de code commençant par le begin mot clé.
exception gestion des exceptions

Types d’exceptions
Utilisé pour déclarer un type d’exception.
extern Fonctions externes Indique qu’un élément de programme déclaré est défini dans un autre fichier binaire ou assembly.
false Types primitifs Utilisé comme littéral booléen.
finally Exceptions : l’expression try...finally Utilisé avec try pour introduire un bloc de code qui s’exécute, qu’une exception se produise ou non.
fixed Fixe Utilisé pour « épingler » un pointeur sur la pile pour l’empêcher d’être récupéré par la mémoire.
for Boucles : for...to expression

Boucles : for... in Expression
Utilisé dans les constructions de bouclage.
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é amusant
Utilisé comme alternative plus courte au fun mot clé et à une match expression dans une expression lambda qui a des critères correspondants sur un seul argument.
global Namespaces Utilisé pour référencer l’espace de noms .NET de niveau supérieur.
if Expressions conditionnelles : if...then...else Utilisé dans les constructions de branchement conditionnels.
in Boucles : for... in Expression

Syntaxe détaillée
Utilisé pour les expressions de séquence et, dans une 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 Utilisé pour déclarer et implémenter des interfaces.
internal Contrôle d’accès Permet de spécifier qu’un membre est visible à l’intérieur d’un assembly, mais pas à l’extérieur.
lazy Expressions différées Permet de spécifier une expression qui doit être effectuée uniquement lorsqu’un résultat est nécessaire.
let let Liaisons Utilisé pour associer, ou lier, un nom à une valeur ou une fonction.
let! Expressions asynchrones

Expression des tâches

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 Utilisé pour la branche en comparant une valeur à un modèle.
match! Expressions de calcul Utilisé pour inliner un appel à une expression de calcul et une correspondance de modèle sur son résultat.
member Membres Utilisé pour 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, de valeurs et de fonctions connexes pour le séparer logiquement d’un autre code.
mutable autoriser les liaisons Utilisé pour déclarer une variable, autrement dit, une valeur qui peut être modifiée.
namespace Namespaces Utilisé pour associer un nom à un groupe de types et de modules connexes, pour le séparer logiquement d’un autre code.
new Constructeurs

Contraintes
Utilisé pour déclarer, définir ou appeler un constructeur qui crée ou qui 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 Référence des symboles et des opérateurs

Contraintes
Pas réellement un mot clé. Toutefois, en combinaison, not struct elle est utilisée 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ètre générique.
of Unions discriminatoires

délégués

Types d’exceptions
Utilisé dans les unions discriminatoires pour indiquer le type de catégories de valeurs, ainsi que dans les déclarations de délégué et d’exception.
open Déclarations d’importation : mot open clé Utilisé pour rendre le contenu d’un espace de noms ou d’un module disponible sans qualification.
or Référence des symboles et des opérateurs

Contraintes
Utilisé avec des conditions booléennes comme opérateur booléen or . Équivalent à ||.

Également utilisé dans les contraintes de membre.
override Membres Utilisé pour 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 Limite l’accès à un membre au code dans le même type ou module.
public Contrôle d’accès Autorise l’accès à un membre à partir de l’extérieur du type.
rec Fonctions Utilisé pour indiquer qu’une fonction est récursive.
return Expressions de calcul

Expressions asynchrones

Expression des tâches
Utilisé pour indiquer une valeur à fournir en conséquence d’une expression de calcul.
return! Expressions de calcul

Expressions asynchrones

Expression des tâches
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 n’est pas réellement un mot réservé et qu’il agit uniquement comme un mot clé dans le contexte approprié.
static Membres Permet d’indiquer une méthode ou une propriété qui peut être appelée sans instance d’un type, ou un membre 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ètre générique.

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 effectuer des effets secondaires après la construction de l’objet.
to Boucles : for...to expression Utilisé dans for les boucles pour indiquer une plage.
true Types primitifs Utilisé comme littéral booléen.
try Exceptions : La tentative... avec expression

Exceptions : La tentative... enfin expression
Utilisé pour introduire un bloc de code qui peut générer une exception. Utilisé avec with ou finally.
type Types F#

Classes

Enregistrements

Structures

Enumerations

Unions discriminatoires

Abréviations de type

Unités de mesure
Utilisé pour déclarer une classe, un enregistrement, une structure, une union discriminatoire, un type d’énumération, une unité de mesure ou une abréviation de type.
upcast Conversion et conversion Permet de convertir en type plus élevé dans la chaîne d’héritage.
use Gestion des ressources : mot use clé Utilisé au lieu des let valeurs qui doivent Dispose être appelées pour libérer des ressources.
use! Expressions de calcul

Expressions asynchrones

Expression des tâches
Utilisé au lieu d’expressions asynchrones et d’autres expressions de let! calcul pour les valeurs qui doivent Dispose être appelées pour libérer des ressources.
val Champs explicites : mot val clé

Signatures

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 (lorsque les gardes) sur les correspondances de modèle et pour introduire une clause de contrainte pour un paramètre de type générique.
while Boucles : while...do expression Introduit une construction de bouclage.
with Expressions de correspondance

Expressions d’objet

Copier et mettre à jour des expressions d’enregistrement

Type Extensions

Exceptions : l’expression try...with

Interfaces

Propriétés
Utilisé avec le mot clé dans les match expressions de correspondance de modèle. Également utilisé dans les expressions d’objet, les expressions de copie d’enregistrements, les extensions de type pour introduire des définitions de membres, des gestionnaires d’exceptions, des implémentations d’interface et des déclarations de propriétés avec des getters et des setters explicites.
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

Expression des tâches
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 contenante.
const Fournisseurs de type Les fournisseurs de const types permettent d’utiliser comme mot clé pour spécifier un littéral constant comme argument de paramètre de type.

Les jetons suivants sont réservés en F# car ils sont des mots clés dans la langue OCaml :

  • asr
  • land
  • lor
  • lsl
  • lsr
  • lxor
  • mod
  • sig

Si vous utilisez l’option du --mlcompatibility compilateur, les mots clés ci-dessus sont disponibles pour être utilisés 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 une fois réservés en tant que mots clés, mais publiés dans F# 4.1. Vous pouvez donc les utiliser comme identificateurs :

Mot-clé Motif
method Permet member d’introduire des méthodes.
constructor Permet new d’introduire des constructeurs.
atomic Lié à la mode de mémoire transactionnelle vers 2006. Il s’agit maintenant d’une expression de calcul définie par la bibliothèque.
eager Il n’est plus nécessaire ; il a été initialement conçu pour correspondre let eager à un potentiel let lazy.
object Il n’est pas nécessaire de réserver cela.
recursive Utilisez rec.
functor Si F# a ajouté des modules paramétrables, vous utiliseriez module M(args) = ....
measure L’attribut [<Measure>] suffit.
volatile L’attribut [<Volatile>] suffit.

Voir aussi