Elixir - Opérateurs

Un opérateur est un symbole qui indique au compilateur d'effectuer des manipulations mathématiques ou logiques spécifiques. Il existe BEAUCOUP d'opérateurs fournis par elixir. Ils sont répartis dans les catégories suivantes -

  • Opérateurs arithmétiques
  • Opérateurs de comparaison
  • opérateurs booléens
  • Divers opérateurs

Opérateurs arithmétiques

Le tableau suivant présente tous les opérateurs arithmétiques pris en charge par le langage Elixir. Supposons une variableA détient 10 et variable B détient 20, alors -

Afficher des exemples

Opérateur La description Exemple
+ Ajoute 2 nombres. A + B donnera 30
- Soustrait le deuxième nombre du premier. AB donnera -10
* Multiplie deux nombres. A * B donnera 200
/ Divise le premier nombre du second. Cela jette les nombres en flottants et donne un résultat flottant A / B donnera 0,5.
div Cette fonction est utilisée pour obtenir le quotient sur division. div (10,20) donnera 0
rem Cette fonction est utilisée pour obtenir le reste en division. rem (A, B) donnera 10

Opérateurs de comparaison

Les opérateurs de comparaison d'Elixir sont pour la plupart communs à ceux fournis dans la plupart des autres langues. Le tableau suivant résume les opérateurs de comparaison dans Elixir. Supposons une variableA détient 10 et variable B détient 20, alors -

Afficher des exemples

Opérateur La description Exemple
== Vérifie si la valeur à gauche est égale à la valeur à droite (Type caste les valeurs si elles ne sont pas du même type). A == B donnera faux
! = Vérifie si la valeur à gauche n'est pas égale à la valeur à droite. A! = B donnera vrai
=== Vérifie si le type de valeur à gauche est égal au type de valeur à droite, si oui, vérifiez la même chose pour la valeur. A === B donnera faux
! == Idem que ci-dessus mais vérifie l'inégalité au lieu de l'égalité. A! == B donnera vrai
> Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit; si oui, alors la condition devient vraie. A> B donnera faux
< Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit; si oui, alors la condition devient vraie. A <B donnera vrai
> = Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit; si oui, alors la condition devient vraie. A> = B donnera faux
<= Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit; si oui, alors la condition devient vraie. A <= B donnera vrai

Opérateurs logiques

Elixir fournit 6 opérateurs logiques: and, or, not, &&, || et !. Les trois premiers,and or notsont des opérateurs booléens stricts, ce qui signifie qu'ils s'attendent à ce que leur premier argument soit un booléen. Un argument non booléen déclenchera une erreur. Alors que les trois suivants,&&, || and !ne sont pas strictes, ne nous obligent pas à avoir la première valeur strictement sous forme de booléen. Ils fonctionnent de la même manière que leurs homologues stricts. Supposons une variableA est vrai et variable B détient 20, alors -

Afficher des exemples

Opérateur La description Exemple
et Vérifie si les deux valeurs fournies sont véridiques, si oui, renvoie la valeur de la deuxième variable. (Logique et). A et B donneront 20
ou Vérifie si l'une des valeurs fournies est véridique. Renvoie la valeur la plus vraie. Sinon, retourne false. (Logique ou). A ou B donnera vrai
ne pas Opérateur unaire qui inverse la valeur d'une entrée donnée. pas A donnera faux
&& Non strict and. Fonctionne de la même manière queand mais ne s'attend pas à ce que le premier argument soit un booléen. B && A donnera 20
|| Non strict or. Fonctionne de la même manière queor mais ne s'attend pas à ce que le premier argument soit un booléen. B || A donnera vrai
! Non strict not. Fonctionne de la même manière quenot mais ne s'attend pas à ce que l'argument soit un booléen. ! A donnera faux

NOTE −et , ou , && et || || sont des opérateurs de court-circuit. Cela signifie que si le premier argument deandest faux, alors il ne recherchera plus le second. Et si le premier argument deorest vrai, alors il ne recherchera pas le second. Par exemple,

false and raise("An error")  
#This won't raise an error as raise function wont get executed because of short
#circuiting nature of and operator

Opérateurs au niveau du bit

Les opérateurs au niveau du bit travaillent sur les bits et effectuent des opérations bit par bit. Elixir fournit des modules au niveau du bit dans le cadre du packageBitwise, donc pour les utiliser, vous devez utiliser le module bitwise. Pour l'utiliser, entrez la commande suivante dans votre shell -

use Bitwise

Supposons que A soit 5 et B soit 6 pour les exemples suivants -

Afficher des exemples

Opérateur La description Exemple
&&& L'opérateur et au niveau du bit copie un peu le résultat s'il existe dans les deux opérandes. A &&& B donnera 4
||| L'opérateur ou au niveau du bit copie un peu le résultat s'il existe dans l'un ou l'autre des opérandes. A ||| B donnera 7
>>> L'opérateur de décalage vers la droite au niveau du bit décale les premiers bits d'opérande vers la droite du nombre spécifié dans le deuxième opérande. A >>> B donnera 0
<<< L'opérateur de décalage gauche au niveau du bit décale les premiers bits d'opérande vers la gauche du nombre spécifié dans le deuxième opérande. A <<< B donnera 320
^^^ L'opérateur XOR au niveau du bit copie un bit dans le résultat uniquement s'il est différent sur les deux opérandes. A ^^^ B donnera 3
~~~ Unaire au niveau du bit n'inverse pas les bits sur le nombre donné. ~~~ A donnera -6

Opérateurs divers

Outre les opérateurs ci-dessus, Elixir fournit également une gamme d'autres opérateurs tels que Concatenation Operator, Match Operator, Pin Operator, Pipe Operator, String Match Operator, Code Point Operator, Capture Operator, Ternary Operator cela en fait un langage assez puissant.

Afficher des exemples