Fonctions natives

Toutes fonctionnent avec ou sans le préfixe ton. (voir Bases du langage).

Cœur

FonctionDescription
print(x)Affiche une valeur sur stdout
type(x)Renvoie le nom du type d'une valeur sous forme de chaîne
str(x)Convertit une valeur en chaîne
num(x)Convertit une valeur en nombre (0 si non convertible)
format(modele, ...args)Remplace chaque {} dans modele par l'argument correspondant (voir Formatage de chaînes)
json(x)Convertit une valeur (tableau, dict, ou scalaire) en chaîne JSON
assert(cond, [msg])Lève une erreur (attrapable) si cond est faux
input([prompt])Affiche un prompt optionnel, lit et renvoie une ligne depuis stdin
readfile(chemin)Lit le contenu d'un fichier sous forme de ton.html (résolu aussi relativement au dossier du script)
writefile(chemin, contenu)Écrit (en écrasant) un fichier avec contenu ; renvoie si ça a réussi

Maths

FonctionDescription
sqrt(x), pow(x, y), abs(x)Racine carrée, puissance, valeur absolue
floor(x), ceil(x), round(x)Arrondis
min(...), max(...)Le plus petit/grand de n'importe quel nombre d'arguments
random()Un flottant dans [0, 1)
random(max)Un entier dans [0, max)
random(min, max)Un entier dans [min, max)

Chaînes

FonctionDescription
len(s)Longueur
upper(s), lower(s)Conversion de casse
trim(s)Supprime les espaces au début/à la fin
split(s, sep)Découpe en un ton.array de chaînes
join(arr, sep)Assemble un tableau en une chaîne (voir aussi sous Tableaux)
replace(s, recherche, remp)Remplace chaque occurrence de recherche par remp
substring(s, debut, [longueur])Extrait une sous-chaîne
contains(s, sous)Si sous apparaît dans s
indexOf(s, sous)Index de la première occurrence, ou -1
s[i]Le caractère à l'index i, sous forme de chaîne d'un caractère (lecture seule — voir Tableaux)

Tableaux

FonctionDescription
len(arr)Nombre d'éléments
push(arr, v)Ajoute une valeur (modifie en place)
pop(arr)Retire et renvoie le dernier élément
shift(arr)Retire et renvoie le premier élément
unshift(arr, v)Insère une valeur au début
slice(arr, debut, [fin])Renvoie un nouveau sous-tableau
join(arr, sep)Assemble les éléments en une chaîne
sort(arr)Trie en place (numérique ou alphabétique) et le retourne
reverse(arr)Inverse en place et le retourne
contains(arr, item)Si item est un élément (égalité structurelle)
indexOf(arr, item)Index du premier élément correspondant, ou -1
map(arr, fn)Nouveau tableau de fn(élément) pour chaque élément
filter(arr, fn)Nouveau tableau ne gardant que les éléments où fn(élément) est vrai
reduce(arr, fn, initial)Replie le tableau via fn(accumulateur, élément)
find(arr, fn)Premier élément où fn(élément) est vrai, ou nil
any(arr, fn)true si fn(élément) est vrai pour au moins un élément
all(arr, fn)true si fn(élément) est vrai pour tous les éléments

Dictionnaires

FonctionDescription
len(d)Nombre de clés
keys(d)Tableau des clés, dans l'ordre d'insertion
values(d)Tableau des valeurs, dans l'ordre d'insertion
has(d, cle)Si cle existe
json(d)Encode le dict en JSON

Serveur HTTP

FonctionDescription
get(chemin, fn)Enregistre une route GET (voir Serveur local)
post(chemin, fn)Enregistre une route POST
serve(port) / serve(port, contenu)Démarre le serveur HTTP local

Ajoutées en beta-2.0.0 — toutes peuvent aussi s'appeler avec la syntaxe méthode (arr.sum(), s.padStart(3, "0")).

Conversions & divers

FonctionDescription
int(x, [base])Partie entière d'un nombre, ou analyse d'une chaîne (int("ff", 16) vaut 255)
float(x)Analyse une chaîne en nombre (erreur si invalide, contrairement à num)
bool(x)true/false selon la « vérité » de la valeur
fixed(x, [chiffres=2])Nombre vers chaîne avec un nombre fixe de décimales
round(x, [chiffres])Arrondit, éventuellement à quelques décimales
repr(x)Comme str, mais les chaînes sont entre guillemets
isinstance(obj, Classe)Si obj est une instance de Classe ou d'une sous-classe
copy(x) / deepcopy(x)Copie superficielle / récursive d'un tableau, dict ou objet
clamp(x, min, max), sign(x)Aides numériques
exit([code])Arrête le script immédiatement
print(a, b, ...)print est aussi une valeur de fonction, qui affiche ses arguments séparés par des espaces

Tableaux

FonctionDescription
range(fin), range(début, fin, [pas])Tableau de nombres, fin exclue
sum(arr), avg(arr)Somme / moyenne de nombres
min(arr), max(arr)min/max acceptent aussi un seul tableau
sorted(arr, [cle])Copie triée ; cle(x) dit selon quoi trier : sorted(mots, m => len(m))
sort(arr, [compare])Sur place ; compare(a, b) renvoie un nombre négatif (ou true) si a vient en premier
forEach(arr, fn)Appelle fn(item) (ou fn(item, indice)) pour chaque élément
findIndex(arr, fn)Indice du premier élément qui correspond, ou -1
count(arr, valeurOuFn)Combien d'éléments égalent une valeur / vérifient un prédicat (compte aussi des sous-chaînes)
flatMap(arr, fn)map puis aplatit d'un niveau
unique(arr)Copie sans doublons (première occurrence gardée)
flatten(arr, [profondeur=1])Aplatit des tableaux imbriqués
zip(a, b, ...)[[a0, b0], [a1, b1], ...]
enumerate(arr)[[0, a0], [1, a1], ...]
chunk(arr, taille)Découpe en tableaux de taille éléments
groupBy(arr, fn)Dict de tableaux, groupés selon fn(item)
first(arr), last(arr)Premier / dernier élément, ou nil
insert(arr, indice, valeur), removeAt(arr, indice)Insère / retire à une position
remove(arr, valeur)Retire le premier élément égal ; remove(dict, cle) retire une clé
clear(x), isEmpty(x)Vide un tableau/dict ; teste s'il est vide
lastIndexOf(x, item)Dernière position dans un tableau ou une chaîne, ou -1
reduce(arr, fn)Sans valeur initiale, part du premier élément

Dictionnaires

FonctionDescription
items(d)[[cle, valeur], ...]
dict(paires)Construit un dict depuis [[cle, valeur], ...]
merge(a, b, ...)Nouveau dict, les clés suivantes l'emportent

keys, values, items, has et len marchent aussi sur les objets (leurs champs).

Chaînes

FonctionDescription
startsWith(s, p), endsWith(s, p)Test de préfixe / suffixe
padStart(s, largeur, [remplissage]), padEnd(...)Complète jusqu'à une largeur
repeat(s, n)Répète une chaîne (ou un tableau)
chars(s), lines(s)Découpe en caractères / lignes
capitalize(s)Première lettre en majuscule
reverse(s)reverse inverse aussi une chaîne
ord(c), chr(n)Code d'un caractère et inverse

Modifier cette page sur GitHub