Fondamentaux de la syntaxe aardio

Présentation d'aardio

aardio est un langage de script particulièrement adapté pour créer rapidement des outils et des utilitaires pour Windows. Sa syntaxe de base s'apparente fortement à JavaScript, ce qui le rend facile à appréhender si vous avez déjà une expérience dans le web. Cet article présente les concepts fondamentaux de la syntaxe, en établissant parfois des comparaisons avec Python pour faciliter la compréhension.

Pour approfondir votre apprentissage, plusieurs ressources sont utiles :

  • La documentation officielle sur le forum aardio (https://bbs.aardio.com/doc/reference/).
  • L'exploration des exemples de code fournis avec l'environnement de développement.
  • La consultation des bibliothèques intégrées via la fonction "Aller à la définition".

Règles de syntaxe

Identifiants

Les identifiants de variables doivent commencer par une lettre, un souligné (_) ou le caractère dollar ($). Ils peuvent contenir des chiffres par la suite. Les noms sont sensibles à la casse. Une particularité importante : un identifiant commençant par un souligné (autre que \_ seul) est traité comme une constante, sa valeur ne peut être modifiée après définition.

Mots-clés

Le langage possède un ensemble de mots-clés réservés pour ses structures de contrôle et ses déclarations :

  • var pour déclarer une variable locale.
  • def peut être utilisé pour créer des alias pour d'autres mots-clés.
  • function définit une fonction.
  • class et ctor servent à créer des classes.
  • import charge une bibliothèque.
  • if, else, elseif gèrent les conditions.
  • for, while, do contrôlent les boucles.
  • try, catch permettent la gestion des exceptions.
  • return renvoie une valeur depuis une fonction.

Il est possible de créer des alias créatifs pour ces mots-clés :


def si = if
def sinon = else
def sinonSi = elseif
def tantQue = while

console.open();

var condition1 = 1;
var condition2 = 2;

si condition1 == condition2 {
    console.log("Les valeurs sont égales.");
} sinon {
    console.log("Les valeurs sont différentes.");
}

Instructions et commentaires

Les instructions peuvent être séparées par un point-virgule ; ou par un retour à la ligne.


var premiereVar = 10;
var deuxiemeVar = 20;

// Ceci est un commentaire sur une seule ligne.
/* Ceci est un commentaire
   sur plusieurs lignes. */

Opérateurs

Opérateurs de base

Les opérateurs arithmétiques (+, -, *, /, %, **), de comparaison (==, !=, >, <, >=, <=) et logiques (&&, ||, !) suivent des règles classiques.

Opérateur de concaténation

L'opérateur ++ est utilisé pour concaténer des chaînes de caractères ou pour combiner une chaîne avec une autre valeur.


var partie1 = "Bonjour";
var partie2 = " le monde";
var salutation = partie1 ++ partie2; // "Bonjour le monde"

var texte = "Numéro: " ++ 123; // "Numéro: 123"

Opérateurs spéciaux

  • # : Retourne la longueur d'une chaîne ou le nombre d'éléments dans un tableau.
  • :: : Définit une variable globale.
  • . et [] : Accèdent aux membres d'un objet (champs, méthodes).
  • $ : Utilisé avant un chemin de fichier pour indiquer que le fichier doit être intégré dans l'exécutable compilé.

Types de données fondamentaux

La valeur nulle (null)

Toute variable non initialisée vaut null. C'est aussi la valeur par défaut pour les paramètres de fonction non fournis.


var valeurNonDefinie;
console.log(valeurNonDefinie); // Affiche: null

function maFonction(param) {
    // Si aucun argument n'est passé, 'param' vaut 'null'.
    console.log(param);
}
maFonction(); // Affiche: null

Les nombres

Les littéraux numériques supportent plusieurs bases :


var binaire = 2#1010;       // 10 en décimal
var octal = 8#12;          // 10 en décimal
var hexadecimal = 16#A;    // 10 en décimal, ou 0xA
var separation = 1_000_000; // Équivaut à 1000000

Les chaînes de caractères

Les chaînes sont encodées en UTF-8. Elles peuvent être définies avec des guillemets doubles "", simples '', ou des backticks ````.


var avecGuillemets = "Ceci est une chaîne.";
var multiligne = "Ceci est
une chaîne multiligne.";
// Le saut de ligne dans les guillemets doubles est préservé.

Pour les conversions d'encodage (UTF-8 vers UTF-16 et inversement, nécessaire pour les appels API Windows), on utilise les fonctions string.toUnicode et string.fromUnicode.

Fonctions utilitaires intégrées

tostring(valeur [, base])

Convertit une valeur en sa représentation sous forme de chaîne. Le second paramètre optionnel permet de spécifier la base numérique (ex: 16 pour l'hexadécimal).


var decimalEnHex = tostring(255, 16); // Retourne "ff"

tonumber(chaîne [, base])

Tente de convertir une chaîne en nombre. Retourne la valeur numérique et le nombre de caractères consommés lors de la conversion.


var resultat, caracteresLus = tonumber("42ans"); // resultat=42, caracteresLus=2

type(objet)

Retourne une chaîne décrivant le type de l'objet passé en argument.


console.log(type(100));      // "number"
console.log(type("salut")); // "string"
console.log(type(null));     // "null"

sleep(ms)

Suspend l'exécution du thread courant pendant le nombre de millisecondes spécifié. À utiliser avec prudence dans une interface graphique, car elle bloque l'ensemble de l'application. Préférez win.delay dans ce contexte.

Étiquettes: aardio syntaxe types de données opérateurs chaînes de caractères

Publié le 4 juin à 18h49