Mécanismes
Dans Publicodes, les mécanismes sont des opérations prédéfinies qui permettent de calculer une valeur à partir d’autres valeurs.
Pour les développeurs, les mécanismes sont l’équivalent de fonctions de base du langage.
Syntaxe générale
Pour utiliser un mécanisme dans une règle, on écrit le nom du mécanisme suivi de ses paramètres.
Les mécanismes unaires
Il s’agit des mécanismes qui prennent un seul paramètre. Par exemple, le mécanisme est défini
permet de vérifier si une variable est définie.
Loading editor...
vrai si défini: est défini: variable variable:
Le paramètre du mécanisme peut être écrit directement après le nom du mécanisme, ou bien à la ligne.
Il existe un mécanisme particulier valeur
. Ce dernier retourne la valeur passée en paramètre. C’est l’équivalent de l’identité en programmation.
Loading editor...
# Ces deux écritures sont équivalentes a: valeur: 10 b: 10
Les mécanismes avec paramètres nommés
Certains mécanismes prennent plusieurs paramètres. Dans ce cas, les paramètres sont passés en tant qu’objet.
Loading editor...
exemple: durée: depuis: 11/06/1991 jusqu'à: 12/12/2012 unité: an
Les mécanismes à liste
Enfin, certains mécanismes prennent une liste de paramètres. Les paramètres sont alors écrits les uns en dessous des autres, avec un tiret -
devant chacun d’eux.
Loading editor...
exemple: somme: - 10 - 20 - 12.4 * 1.2
Mécanismes chaînés
Certains mécanismes peuvent apparaître au même niveau d’indentation, il s’agit des mécanismes chainés. Ils sont utilisés pour appliquer une transformation à une valeur principale.
Par exemple, les mécanismes arrondi
et plafond
sont des mécanismes chainés :
Loading editor...
remboursement: valeur: 42.3 €/jour arrondi: oui plafond: 500€/mois
Dans l’exemple précédent, la valeur de remboursement
est calculée à partir du mécanisme valeur
, puis elle est arrondie à l’unité la plus proche, avant d’être plafonnée à 500€/mois.
Si on souhaite changer l’ordre d’application des mécanismes, le plus simple est de les imbriquer les uns dans les autres.
Loading editor...
a: # arrondi est appliqué après unité valeur: 4266.65 €/an unité: €/mois arrondi: oui b: # arrondi est appliqué avant unité valeur: valeur: 4266.65 €/an arrondi: oui unité: €/mois
Mécanismes personnalisés (non implémentés)
À noter : il n’est pas encore possible de définir de nouveaux mécanismes personnalisés directement dans Publicodes. Si vous avez besoin d’une fonctionnalité qui n’existe pas, vous pouvez ouvrir une issue sur Github.
formule
(déprécié)
Le mécanisme formule
permet d’ajouter un niveau d’indentation avant de spécifier les mécanismes à appliquer. Il est équivalent au mécanisme valeur
mais ne peut être utilisé qu’au premier niveau d’indentation.
Loading editor...
a: formule: somme: - 10 - 20