Opérateurs

Ce chapitre ne va pas être très passionnant, je vais juste énumérer les principaux opérateurs disponibles dans Elm à titre de pense bête.

Les tableaux ci-dessous sont une traduction française des tableaux se trouvant à l’adresse https://github.com/izdi/elm-cheat-sheet

Pour faire simple, les opérateurs Elm sont des fonctions qui prennent deux paramètres et renvoient un résultat.

Dans les tableaux ci-dessous, les opétareurs seront classés par catégories :

Arithmetique

Operateur Description Type
+ addition number -> number -> number
- soustraction number -> number -> number
* multiplication number -> number -> number
/ division avec décimale Float -> Float -> Float
// division entère Int -> Int -> Int
^ exposant number -> number -> number
% modulo (reste de la division) Int -> Int -> Int

Bits (bitwise)

Operateur Description Type
and bitwise AND Int -> Int -> Int
or bitwise OR Int -> Int -> Int
xor biwise XOR Int -> Int -> Int

Comparaison

Operateur Description Type
== égalité comparable -> comparable -> Bool
/= non égale comparable -> comparable -> Bool
< inférieur à comparable -> comparable -> Bool
<= inférieur ou égal à comparable -> comparable -> Bool
> supérieur à comparable -> comparable -> Bool
>= supérieur ou égale à comparable -> comparable -> Bool

Logique

Operateur Description Type
&& logique “and” Bool -> Bool -> Bool
|| logique “or” Bool -> Bool -> Bool
not logique not Bool -> Bool

Composition de fonctions

Operateur Description Type
<| backward (pipe) f <| x == f x (a -> b) -> a -> b
|> forward (pipe)x |> f == f x a -> (a -> b) -> b
<< compose plusieurs fonctions en une seule, les paramètres s’appliquent d’abord à la fonction de droite (b -> c) -> (a -> b) -> a -> c
>> Idem que ci-dessus sauf que les paramètres s’appliquent d’abord à la fonction de gauche (a -> b) -> (b -> c) -> a -> c

Autre

Operateur Description Type
++ concaténation appendable -> appendable -> appendable
:: ajouter un élément en début de liste a -> List a -> List a
as mot clé pour créer un alias pour une valeur (x, y) as t == t = (x, y) a -> a

Sources:
https://github.com/izdi/elm-cheat-sheet

Disclaimer:
Etant un total débutant dans le langage Elm et la programmation fonctionnel, il se peut que des incompréhensions ou des erreurs se soient glissées dans mes explications. Si vous en remarquez, merci de me les signaler pour que je puisse les corriger au plus vite.