F # - Priorité des opérateurs
Le tableau suivant montre l'ordre de priorité des opérateurs et autres mots-clés d'expression dans le langage F #, de la priorité la plus basse à la priorité la plus élevée.
| Opérateur | Associativité |
|---|---|
| comme | Droite |
| quand | Droite |
| | (tuyau) | La gauche |
| ; | Droite |
| laisser | Non associatif |
| fonction, amusement, match, essayez | Non associatif |
| si | Non associatif |
| → | Droite |
| : = | Droite |
| , | Non associatif |
| ou, || | La gauche |
| &, && | La gauche |
| <op,> op, =, | op, & op | La gauche |
| &&&, |||, ^^^, ~~~, <<<, >>> | La gauche |
| ^ op | Droite |
| :: | Droite |
| :?>,:? | Non associatif |
| - op, + op, (binaire) | La gauche |
| * op, / op,% op | La gauche |
| ** op | Droite |
| fx (application de fonction) | La gauche |
| | (correspondance de motif) | Droite |
| opérateurs de préfixe (+ op, -op,%, %%, &, &&,! op, ~ op) | La gauche |
| . | La gauche |
| f (x) | La gauche |
| f <types> | La gauche |
Exemple
let a : int32 = 20
let b : int32 = 10
let c : int32 = 15
let d : int32 = 5
let mutable e : int32 = 0
e <- (a + b) * c / d // ( 30 * 15 ) / 5
printfn "Value of (a + b) * c / d is : %d" e
e <- ((a + b) * c) / d // (30 * 15 ) / 5
printfn "Value of ((a + b) * c) / d is : %d" e
e <- (a + b) * (c / d) // (30) * (15/5)
printfn "Value of (a + b) * (c / d) is : %d" e
e <- a + (b * c) / d // 20 + (150/5)
printfn "Value of a + (b * c) / d is : %d" e
Lorsque vous compilez et exécutez le programme, il produit la sortie suivante -
Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is : 90
Value of (a + b) * (c / d) is : 90
Value of a + (b * c) / d is : 50
