Opérateurs logiques stricts (= attendent un(des) booléen(s) en opérande(s)) : ''not'', ''and'', ''or'' Opérateurs logiques non stricts : ''!'', ''&&'', ''||'' Sont considérées comme fausses, avec ces opérateurs logiques non stricts, les valeurs suivantes : ''false'' et ''nil'' Comparaison : * non stricte ''==''/''!='' * stricte ''===''/''!=='' Ainsi ''1 == 1.0'' mais ''1 !== 1.0''. Sont utilisables comme //guard// (//when//) : * is_(binary|atom|function|integer|tuple|list|boolean|...) * ''in'' * ''>'', ''>='', ... * les opérateurs booléens **stricts** évoqués ci-dessus * tout opérateur de comparaison (<, >=, ==, !==, etc) * les opérateurs mathématiques (+, -, *, /) * les opérateurs unaires (+, -) * les opérateurs de bits (''%%&&&%%'', ''%%|||%%'', ''%%~~~%%'', ''%%<<<%%'', ''%%>>>%%'', ''%%^^^%%'') (à condition d'importer le module Bitwise) * certaines fonctions du module Kernel (rem - modulo, abs, etc) Sigils : ^ ruby ^ elixir ^ Fonction ^ Substitution (''%%#{...}%%'', comme ruby) ^ | ''%%%I[ ... ]%%'' | ''%%~w< ... >a%%'' | tableau de symboles | oui | | ''%%%i[ ... ]%%'' | ''%%~W[ ... ]a%%'' | tableau de symboles | non | | ''%%%W[ ... ]%%'' | ''%%~w< ... >%%'' ou ''%%~w< ... >%%s'' | tableau de "mots" en tant que chaînes de caractères | oui | | ''%%%w[ ... ]%%'' | ''%%~W[ ... ]%%'' ou ''%%~W[ ... ]%%s'' | tableau de "mots" en tant que chaînes de caractères | non | | sans équivalent | ''%%~w< ... >%%c'' | tableau de "mots" en tant que liste de caractères | oui | | sans équivalent | ''%%~W[ ... ]%%c'' | tableau de "mots" en tant que liste de caractères | non | | ''%%%Q( ... )%%'' ''%%%< ... >%%'' | ''%%~s( ... )%%'' | chaîne de caractères | oui | | ''%%%q[ ... ]%%'' | ''%%~S( ... )%%'' | chaîne de caractères | non | | sans équivalent | ''%%~c( ... )%%'' | liste de caractères | oui | | sans équivalent | ''%%~C( ... )%%'' | liste de caractères | non | | ''%%%r[ ... ]%%'' | ''%%~r< ... >%%'' | regexp (éventuellement suivi de modificateurs) | oui | | sans équivalent | ''%%~R< ... >%%'' | regexp | non | | sans équivalent | ''%%~D[2016-02-23]%%'' | date | non | | sans équivalent | ''%%~T[21:32:59]%%'' | time | non | | sans équivalent | ''%%~N[2016-02-23 21:32:59]%%'' | datetime | non | ^ ruby ^ elixir ^ note ^ | ''objet.class'' | ''%%struct.__struct__%%'' | - | | ''%%:"data-foo"%%'' ou '':'data-foo''' | ''%%:"data-foo"%%'' | pour un symbole/atom qui contient un caractère non permis de base comme "identifiant", comme ''-'', ''@'', etc) | Le module courant : ''%%__MODULE__%%''