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