Parcours
/
F#
F#
/
Programme
/
Les bases
Le

Les bases en F#

1 exercice

À propos de Les bases

En F#, tout ce qui a un type et peut être défini s'appelle une valeur. Cela inclut les booléens, les entiers et les listes, mais aussi les fonctions. Les valeurs entières sont définies comme un ou plusieurs chiffres (consécutifs) et prennent en charge les opérateurs mathématiques par défaut.

Affecter une valeur à un nom s'appelle une liaison. Les liaisons sont immuables, ce qui les rend semblables aux constantes d'autres langages. Les liaisons se définissent à l'aide du mot-clé let.

Comme F# est un langage à typage statique, chaque liaison a un type. Spécifier le type d'une liaison est facultatif pour la plupart des liaisons, car l'inférence de types de F# peut généralement déduire le type à partir de leur valeur.

// Automatically inferred type
let fingers = 10

Les fonctions sont aussi des liaisons ordinaires, mais avec un ou plusieurs paramètres. Une fonction renvoie automatiquement sa dernière expression. L'inférence de types fonctionne aussi pour la plupart des fonctions, en analysant avec quelles valeurs la fonction est appelée et quelle valeur elle renvoie.

// Automatically inferred types for parameters and return type
let add x y = x + y

Pour appeler une fonction, on indique son nom et on passe un argument pour chacun de ses paramètres.

let five = add 2 3

Si le type d'une liaison ne peut pas être inféré, le compilateur signale une erreur. Pour corriger cela, rends le type de la liaison explicite.

// Explicit type annotation
let fingers: int = 10

// Explicit type annotation (also for parameters)
let add (x: int) (y: int): int = x + y

Les liaisons en F# ne peuvent être utilisées qu'après avoir été définies. Utiliser une liaison avant qu'elle ne soit définie provoque une erreur de compilation.

// Compile error as the add binding has not yet been defined
// let seven = add 3 + 4

let add x y = x + y

Les espaces significatifs servent à définir la portée : on indente le code avec des espaces par rapport à la ligne qui déclare la liaison. La convention par défaut est d'utiliser quatre espaces pour l'indentation.

let toes =
    let left = 5
    let right = 5
    left + right

let multiplyPlusTwo x y =
    let product = x * y
    product + 2

// Trying to access the left, right or product bindings
// here would result in a compile error

Les liaisons F# (qui incluent les fonctions) sont généralement organisées en modules. Un module regroupe des fonctionnalités liées et se définit à l'aide du mot-clé module. La définition du module doit précéder ses liaisons :

module Calculator

let pi = 3.14

let add x y = x + y

F# prend en charge deux types de commentaires. Les commentaires sur une seule ligne sont précédés de // et les commentaires multilignes s'insèrent entre (* et *).

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet

Apprends Les bases