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é: anLes 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.2Mé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é: €/moisMé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