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: 0
Opé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
.