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