Types et opérations
Il existe quatre types de données en publicodes : les nombres, les booléens, les textes et les dates.
Nombres
Publicodes ne fait pas la différence entre les entiers et les nombres à virgule flottante. Les nombres décimaux sont écrits avec un point . comme séparateur décimal.
Loading editor...
nombre entier: 42 nombre décimal: 3.14 nombre négatif: -10.5
Les opérations arithmétiques de base sont supportées :
Loading editor...
somme: 1 + 2 soustraction: 3 - 4 multiplication: 5 * 6 division: 7 / 8 division entière: 11 // 2 puissance: 2 ** 10
À noter : il faut systématiquement un espace avant et après un opérateur.
Booléens
Publicodes défini deux valeurs booléennes oui et non. Les comparaisons de valeur (>, >=, <, <=, = ou !=) retournent un booléen.
Les valeur booléennes peuvent être utilisées dans certains mécanismes comme variations.
Loading editor...
ma condition: oui
variations:
- si: ma condition
alors: 10
- sinon: 0Opération sur les booléens
On peut combiner des booléens entre eux avec les mécanismes toutes ces conditions ou une de ces conditions.
Loading editor...
âge: 17 ans
nationalité française: oui
droit de vote:
toutes ces conditions:
- âge >= 18 ans
- nationalité française
Texte
Une règle peut contenir un texte (ou chaine de charactère). Les textes sont délimités par des guillemets simples ' ou doubles ".
Concaténation de texte
Il est possible de concaténer des textes avec le mécanisme texte.
Loading editor...
prénom: "'Lyra'"
nom: "'Belacqua'"
salutation:
texte: Bonjour {{ prénom }} {{ nom }} !Une possibilité
Actuellement, le type texte est utilisé pour représenter les options, ou possibilité. Ainsi, pour proposer des choix à l’utilisateur, on utilise l’écriture suivante :
Loading editor...
langue:
une possibilité:
- français
- anglais
- espagnol
avec:
français:
anglais:
espagnol:
par défaut: "'français'"
salution:
variations:
- si: langue = 'français'
alors: "'Bonjour'"
- si: langue = 'anglais'
alors: "'Hello'"
- si: langue = 'espagnol'
alors: "'Hola'"Dates
Les dates sont définies avec le format JJ/MM/AAAA. On peut uniquement préciser le mois et l’année MM/AAAA. Dans ce cas, le jour est automatiquement fixé au premier du mois.
Loading editor...
date 1: 11/01/2000 date 2: 04/2024 # revient à écrire 01/04/2024
Opérations sur les dates
Il est possible de comparer des dates entre elles avec les opérateurs >, >=, <, <=, = ou !=.
Pour connaître la durée entre deux dates, il faut utiliser le mécanisme durée.