Elixir - Divers opérateurs

Outre les opérateurs ci-dessus, Elixir fournit également une gamme d'autres opérateurs qui en font un langage assez puissant.

Opérateur de concaténation

Elixir fournit un opérateur de concaténation de chaînes, '<>'. Ceci est utilisé pour concaténer 2 chaînes. Par exemple,

IO.puts("Hello"<>" "<>"world")

La commande ci-dessus génère le résultat suivant -

Hello World

Rencontre

L'opérateur de correspondance, '='utilise la fonction de correspondance de modèles de la langue. Nous discuterons de cet opérateur en détail dans un chapitre suivant sur la correspondance de motifs.

Veuillez noter que = n'est pas seulement un opérateur d'affectation. Lorsque nous avons la valeur de gauche comme variable et la valeur de droite comme littéral ou une autre variable, la valeur de droite est liée à la variable, c'est-à-dire que l'affectation a lieu. Mais si nous avons une variable à droite et un littéral à gauche, la correspondance de modèle se produit. Le même est le cas lorsque les deux valeurs sont des littéraux.

Épingle

L'opérateur de broches, '^'est un opérateur unaire utilisé en préfixant un nom de variable. Il s'assure que la variable utilisée avec l'opérateur de correspondance ne reçoit pas de valeur, mais correspond à cette valeur. Par exemple,

a = 12  #assignment
a = 13  #assignment
^a = 13  #Pattern matching

Tuyau

L'opérateur de tube, '|>' fonctionne comme l'opérateur de tube dans les shells Unix. Cela nous permet de diriger la sortie d'une fonction vers l'autre. Par exemple, si nous devons diriger le résultat de l'addition dansIO.puts, nous utiliserons -

(4+3) |> IO.puts

Lors de l'exécution du programme ci-dessus, il produit le résultat suivant -

7

Cela reconnaîtra que nous avons envoyé le résultat de l'ajout dans la fonction IO.puts. Cela imprimera 7 sur votre console.

Correspondance de chaîne

L'opérateur de correspondance de chaîne, '= ~', prend une chaîne à gauche et une chaîne ou une expression régulière à droite. Si la chaîne de droite est une sous-chaîne de gauche, true est renvoyé. Si l'expression régulière de droite correspond à la chaîne de gauche, true est renvoyé. Sinon, false est renvoyé. Par exemple,

IO.puts("tutorialspoint" =~ "poi")  
IO.puts("tutorialspoint" =~ ~r/[a-z]*/)  
IO.puts("tutorialspoint" =~ ~r/[0-9]*/)

Lors de l'exécution du programme ci-dessus, il produit le résultat suivant -

true
true
true

Notez que les expressions régulières commencent par un '~r' préfixe dans Elixir.

Point de code

C'est un opérateur unaire, '?' qui renvoie le point de code UTF-8 du caractère immédiatement à sa droite. Il ne peut prendre qu'un seul caractère et accepte les séquences d'échappement. Par exemple,

IO.puts(?a)
IO.puts(?\s)

Lors de l'exécution du programme ci-dessus, il produit le résultat suivant -

97
32

Capturer

L'opérateur de capture «&» est utilisé lors de la définition de fonctions anonymes. Nous en discuterons en détail dans le chapitre des fonctions.

Ternaire

Elixir n'a pas d'opérateur ternaire. Nous pouvons obtenir la même fonctionnalité en utilisant l'instruction if else -

a = if true, do: "True!", else: "False!"

Dans

Cet opérateur vérifie si l'élément de gauche existe dans la structure énumérable à droite. Par exemple, nous pouvons rechercher un atome dans une liste, un tuple, etc. d'atomes en utilisant cet opérateur -

:yes in [:true, :false, :yes]

L'instruction ci-dessus renvoie true comme :yes existe dans la liste.