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.