Partager via


Informations de référence sur le langage F#

Cette section est une référence pour F#, un langage de programmation multi-paradigme ciblant .NET. F# prend en charge les modèles de programmation fonctionnels, orientés objet et impératif.

Organisation du code F#

Le tableau suivant présente des articles de référence liés à l’organisation de votre code F#.

Titre Descriptif
Namespaces Découvrez la prise en charge de l’espace de noms en F#. Un espace de noms vous permet d’organiser le code en zones de fonctionnalités associées en vous permettant d’attacher un nom à un regroupement d’éléments de programme.
Modules Découvrez les modules. Un module F# est semblable à un espace de noms et peut également inclure des valeurs et des fonctions. Le regroupement de code dans les modules permet de regrouper le code associé et d’éviter les conflits de noms dans votre programme.
open Déclarations En savoir plus sur le open fonctionnement. Une open déclaration spécifie un module, un espace de noms ou un type dont vous pouvez faire référence sans utiliser de nom complet.
Signatures Découvrez les signatures et les fichiers de signature. Un fichier de signature contient des informations sur les signatures publiques d’un ensemble d’éléments de programme F#, tels que les types, les espaces de noms et les modules. Il peut être utilisé pour spécifier l’accessibilité de ces éléments de programme.
Contrôle d’accès Découvrez le contrôle d’accès en F#. Le contrôle d’accès signifie déclarer ce que les clients sont en mesure d’utiliser certains éléments de programme, tels que des types, des méthodes, des fonctions, etc.
XML Documentation Découvrez la prise en charge de la génération de fichiers de documentation à partir de commentaires de documents XML, également appelées commentaires à barres obliques triples. Vous pouvez produire de la documentation à partir de commentaires de code en F# comme dans d’autres langages .NET.

Littéraux et chaînes

Le tableau suivant présente des articles de référence qui décrivent des littéraux et des chaînes en F#.

Titre Descriptif
littéraux Découvrez la syntaxe des valeurs littérales dans F# et comment spécifier des informations de type pour les littéraux F#.
Chaînes Découvrez les chaînes en F#. Le string type représente un texte immuable, sous la forme d’une séquence de caractères Unicode. string est un alias pour System.String .NET.
Chaînes interpolées Découvrez les chaînes interpolées, une forme spéciale de chaîne qui vous permet d’incorporer des expressions F# directement à l’intérieur.

Valeurs et fonctions

Le tableau suivant présente des articles de référence qui décrivent les concepts de langage liés aux valeurs, letaux liaisons et aux fonctions.

Titre Descriptif
Valeurs Découvrez les valeurs, qui sont des quantités immuables qui ont un type spécifique ; les valeurs peuvent être des nombres intégraux ou à virgule flottante, des caractères ou du texte, des listes, des séquences, des tableaux, des tuples, des unions discriminées, des enregistrements, des types de classes ou des valeurs de fonction.
Fonctions Les fonctions sont l’unité fondamentale de l’exécution du programme dans n’importe quel langage de programmation. Une fonction F# a un nom, peut avoir des paramètres et prendre des arguments, et a un corps. F# prend également en charge les constructions de programmation fonctionnelle, telles que le traitement des fonctions comme des valeurs, l’utilisation de fonctions sans nom dans les expressions, la composition de fonctions pour former de nouvelles fonctions, les fonctions curriées et la définition implicite des fonctions par le biais de l’application partielle des arguments de fonction.
Expressions de fonction Découvrez comment utiliser le mot clé F# 'fun' pour définir une expression lambda, qui est une fonction anonyme.

Boucles et conditions

Le tableau suivant répertorie les articles qui décrivent les boucles F# et les conditions.

Titre Descriptif
Expressions conditionnelles : if...then...else Découvrez l’expression if...then...else , qui exécute différentes branches de code et évalue également une valeur différente en fonction de l’expression booléenne donnée.
Boucles : for...in expression Découvrez l’expression for...in , une construction en boucle utilisée pour itérer sur les correspondances d’un modèle dans une collection énumérable telle qu’une expression de plage, une séquence, une liste, un tableau ou une autre construction qui prend en charge l’énumération.
Boucles : for...to expression Découvrez l’expression for...to , qui est utilisée pour itérer dans une boucle sur une plage de valeurs d’une variable de boucle.
Boucles : while...do expression Découvrez l’expression while...do , qui est utilisée pour effectuer une exécution itérative (bouclage) alors qu’une condition de test spécifiée est vraie.

Critères spéciaux

Le tableau suivant présente des articles de référence qui décrivent les concepts du langage.

Titre Descriptif
Correspondance de motifs Découvrez les modèles, qui sont des règles pour transformer les données d’entrée et sont utilisés dans F#. Vous pouvez comparer des données à un modèle, décomposer des données en parties constituantes ou extraire des informations de données de différentes manières.
Expressions de correspondance Découvrez l’expression match , qui fournit un contrôle de branchement basé sur la comparaison d’une expression avec un ensemble de modèles.
modèles actifs Découvrez les modèles actifs. Les modèles actifs vous permettent de définir des partitions nommées qui subdivisent les données d’entrée. Vous pouvez utiliser des modèles actifs pour décomposer des données de façon personnalisée pour chaque partition.

Gestion des exceptions

Le tableau suivant présente des articles de référence qui décrivent les concepts de langage liés à la gestion des exceptions.

Titre Descriptif
gestion des exceptions Contient des informations sur la prise en charge de la gestion des exceptions dans F#.
The try...with Expression Découvrez comment utiliser l’expression pour la try...with gestion des exceptions.
The try...finally Expression Découvrez comment l’expression F# try...finally vous permet d’exécuter du code de nettoyage même si un bloc de code lève une exception.
Mot use clé Découvrez les mots clés use et using, qui peuvent contrôler l’initialisation et la mise en production des ressources.
Affirmations Découvrez l’expression assert , qui est une fonctionnalité de débogage que vous pouvez utiliser pour tester une expression. En cas d’échec en mode Débogage, une assertion génère une boîte de dialogue d’erreur système.

Types et inférence de type

Le tableau suivant présente des articles de référence qui décrivent le fonctionnement des types et de l’inférence de type en F#.

Titre Descriptif
Types Découvrez les types utilisés dans F# et la façon dont les types F# sont nommés et décrits.
types de base Découvrez les types fondamentaux utilisés dans F#. Il fournit également les types .NET correspondants et les valeurs minimales et maximales pour chaque type.
Type d’unité Découvrez le unit type, qui est un type qui indique l’absence d’une valeur spécifique ; le unit type n’a qu’une seule valeur, qui agit comme espace réservé lorsqu’aucune autre valeur n’existe ou n’est nécessaire.
Abréviations de type Découvrez les abréviations de type, qui sont des noms alternatifs pour les types.
Inférence de type Découvrez comment le compilateur F# déduit les types de valeurs, variables, paramètres et valeurs de retour.
Conversion et conversion Découvrez la prise en charge des conversions de types en F#.
Génériques Découvrez les constructions génériques en F#.
Généralisation automatique Découvrez comment F# généralise automatiquement les arguments et les types de fonctions afin qu’ils fonctionnent avec plusieurs types lorsque cela est possible.
Contraintes Découvrez les contraintes qui s’appliquent aux paramètres de type générique pour spécifier les exigences d’un argument de type dans un type ou une fonction générique.
Types flexibles Découvrez les types flexibles. Une annotation de type flexible indique qu’un paramètre, une variable ou une valeur a un type compatible avec le type spécifié, où la compatibilité est déterminée par position dans une hiérarchie orientée objet de classes ou d’interfaces.
Unités de mesure Découvrez les unités de mesure. Les valeurs à virgule flottante en F# peuvent avoir des unités de mesure associées, qui sont généralement utilisées pour indiquer la longueur, le volume, la masse, et ainsi de suite.
Byrefs Découvrez les types byref et byref dans F#, qui sont utilisés pour la programmation de bas niveau.

Tuples, Listes, Collections, Options

Le tableau suivant présente des articles de référence qui décrivent les types pris en charge par F#.

Titre Descriptif
Tuples Découvrez les tuples, qui regroupent des valeurs non nommées mais ordonnées de types possibles.
Collections Vue d’ensemble des types de collection fonctionnelle F#, y compris les types pour les tableaux, les listes, les séquences (seq), les mappages et les ensembles.
Listes En savoir plus sur les listes. Une liste en F# est une série ordonnée et immuable d’éléments du même type.
Options Découvrez le type d’option. Une option en F# est utilisée lorsqu’une valeur peut ou non exister. Une option a un type sous-jacent et peut contenir une valeur de ce type ou elle n’a peut-être pas de valeur.
Tableaux Découvrez les tableaux. Les tableaux sont des séquences mutables de taille fixe, de base zéro, d’éléments de données consécutifs, du même type.
Séquences Découvrez les séquences. Une séquence est une série logique d’éléments d’un seul type. Les éléments de séquence individuels sont calculés uniquement si nécessaire, de sorte que la représentation peut être inférieure à un nombre d’éléments littéral indique.
Expressions de séquence Découvrez les expressions de séquence, qui vous permettent de générer des séquences de données à la demande.
Cellules de référence Découvrez les cellules de référence, qui sont des emplacements de stockage qui vous permettent de créer des variables mutables avec la sémantique de référence.

Enregistrements et unions discriminatoires

Le tableau suivant présente des articles de référence qui décrivent les définitions de type d’union discriminatoires et d’enregistrement prises en charge par F#.

Titre Descriptif
Enregistrements En savoir plus sur les enregistrements. Les enregistrements représentent des agrégats simples de valeurs nommées, éventuellement avec des membres.
Enregistrements anonymes Découvrez comment construire et utiliser des enregistrements anonymes, une fonctionnalité de langage qui aide à manipuler les données.
Unions discriminatoires Découvrez les syndicats discriminatoires, qui prennent en charge les valeurs qui peuvent être l’un des cas nommés, chacun avec des valeurs et des types éventuellement différents.
Structs Découvrez les structs, qui sont des types d’objets compacts qui peuvent être plus efficaces qu’une classe pour les types qui ont une petite quantité de données et un comportement simple.
Enumerations Les énumérations sont des types qui ont un ensemble défini de valeurs nommées. Vous pouvez les utiliser à la place de littéraux pour rendre le code plus lisible et plus facile à gérer.

Programmation d’objets

Le tableau suivant présente des articles de référence qui décrivent la programmation d’objets F#.

Titre Descriptif
Classes Découvrez les classes, qui sont des types qui représentent des objets qui peuvent avoir des propriétés, des méthodes et des événements.
Interfaces Découvrez les interfaces, qui spécifient des ensembles de membres associés implémentés par d’autres classes.
classes abstraites Découvrez les classes abstraites, qui sont des classes qui conservent certains membres ou tous les membres non implémentés, afin que les implémentations puissent être fournies par des classes dérivées.
Type Extensions Découvrez les extensions de type, qui vous permettent d’ajouter de nouveaux membres à un type d’objet précédemment défini.
délégués Découvrez les délégués, qui représentent un appel de fonction en tant qu’objet.
Héritage Découvrez l’héritage, qui est utilisé pour modéliser la relation « is-a » ou la sous-saisie, dans la programmation orientée objet.
Membres Découvrez les membres des types d’objets F#.
Paramètres et arguments Découvrez la prise en charge du langage pour définir des paramètres et passer des arguments à des fonctions, des méthodes et des propriétés. Il inclut des informations sur la façon de passer par référence.
Surcharge des opérateurs Découvrez comment surcharger des opérateurs arithmétiques dans un type de classe ou d’enregistrement et au niveau global.
Expressions d’objet Découvrez les expressions d’objet, qui sont des expressions qui créent de nouvelles instances d’un type d’objet anonyme créé dynamiquement basé sur un type de base, une interface ou un ensemble d’interfaces existant.

Async, Tasks and Lazy

Le tableau suivant répertorie les rubriques qui décrivent des expressions asynchrones, des tâches et des expressions différées F#.

Titre Descriptif
Expressions asynchrones Découvrez les expressions asynchrones, qui vous permettent d’écrire du code asynchrone d’une manière très proche de la façon dont vous écrivez naturellement du code synchrone.
Expressions de tâche Découvrez les expressions de tâche, qui constituent une autre façon d’écrire du code asynchrone utilisé lors de l’interopérabilité avec le code .NET qui consomme ou produit des tâches .NET.
Expressions différées Découvrez les expressions différées, qui sont des calculs qui ne sont pas évalués immédiatement, mais qui sont plutôt évaluées lorsque le résultat est réellement nécessaire.

Expressions de calcul et requêtes

Le tableau suivant répertorie les rubriques qui décrivent les expressions et requêtes de calcul F#.

Titre Descriptif
Expressions de calcul Découvrez les expressions de calcul en F#, qui fournissent une syntaxe pratique pour écrire des calculs qui peuvent être séquencés et combinés à l’aide de constructions et de liaisons de flux de contrôle. Ils peuvent être utilisés pour gérer les données, le contrôle et les effets secondaires dans les programmes fonctionnels.
Expressions de requête Découvrez les expressions de requête, une fonctionnalité de langage qui implémente LINQ pour F# et vous permet d’écrire des requêtes sur une source de données ou une collection énumérable.

Attributs, réflexion, guillemets et mise en forme de texte brut

Le tableau suivant répertorie les articles qui décrivent les caractéristiques réfléchissantes F#, notamment les attributs, les guillemets nameofet la mise en forme de texte brut.

Titre Descriptif
Attributs Découvrez comment les attributs F# permettent aux métadonnées d’être appliquées à une construction de programmation.
nameof Découvrez l’opérateur nameof , une fonctionnalité de métagrammage qui vous permet de produire le nom de n’importe quel symbole dans votre code source.
Informations de l’appelant Découvrez comment utiliser les attributs d’argument d’informations de l’appelant pour obtenir des informations d’appelant à partir d’une méthode.
Identificateurs de ligne source, de fichier et de chemin d’accès Découvrez les identificateurs, __SOURCE_DIRECTORY__et __SOURCE_FILE__les valeurs intégrées __LINE__qui vous permettent d’accéder au numéro de ligne source, au répertoire et au nom de fichier dans votre code.
Guillemets de code Découvrez les guillemets de code, une fonctionnalité de langage qui vous permet de générer et d’utiliser des expressions de code F# par programmation.
Mise en forme de texte brut Découvrez comment utiliser sprintf et d’autres mises en forme de texte brut dans les applications et scripts F#.

Fournisseurs de type

Le tableau suivant répertorie les articles qui décrivent les fournisseurs de types F#.

Titre Descriptif
Fournisseurs de type Découvrez les fournisseurs de types et recherchez des liens vers des procédures pas à pas sur l’utilisation des fournisseurs de types intégrés pour accéder aux bases de données et aux services web.
Créer un fournisseur de types Découvrez comment créer vos propres fournisseurs de types F# en examinant plusieurs fournisseurs de types simples qui illustrent les concepts de base.

Informations de référence sur l’API de la bibliothèque principale F#

La référence de l’API F# Core Library (FSharp.Core) est la référence pour tous les espaces de noms, modules, types et fonctions de la bibliothèque principale F#.

Tables de référence

Le tableau suivant présente des articles de référence qui fournissent des tables de mots clés, de symboles et de littéraux utilisés comme jetons dans F#.

Titre Descriptif
Informations de référence sur les mots clés Contient des liens vers des informations sur tous les mots clés de langage F#.
Référence des symboles et des opérateurs Contient une table de symboles et d’opérateurs utilisés dans F#.

Constructions prises en charge par le compilateur

Le tableau suivant répertorie les rubriques qui décrivent des constructions spéciales prises en charge par le compilateur.

Sujet Descriptif
options du compilateur Décrit les options de ligne de commande pour le compilateur F#.
Directives du compilateur Décrit les directives de processeur et les directives du compilateur prises en charge par le compilateur F#.