Fonctions natives
Toutes fonctionnent avec ou sans le préfixe ton. (voir Bases du langage).
Cœur
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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
| Fonction | Description |
|---|---|
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 |