Types

TypeDéclarationExemple
Entier/flottantton.int / ton.floatton.int x = 5
Chaîneton.strington.string s = "salut"
Booléenton.boolton.bool ok = true
Tableauton.arrayton.array a = [1, 2, 3]
Dictionnaireton.dictton.dict d = {a: 1}
HTMLton.htmlton.html page = "<h1>Salut</h1>"
Fonctionton.functionton.function f() { ... }

ton.int et ton.float reposent tous les deux sur le même nombre interne en double précision — TON618 n'impose pas un stockage entier strict (voir Limitations connues). Assigner un littéral chaîne directement à une variable ton.html la convertit automatiquement en HTML (une commodité pour les gestionnaires de route qui renvoient du balisage).

type(x) renvoie le nom du type d'une valeur sous forme de chaîne : "int/float", "string", "html", "bool", "array", "dict", "nil", ou "function".

Depuis beta-2.0.0 :

DéclarationSensExemple
ton.let / ton.varN'importe quel type, peut changerton.let x = 5
ton.constN'importe quel type, non réassignableton.const PI = 3.14
ton.<NomDeClasse>Une instance de cette classe (ou d'une sous-classe), ou nilton.Point p = Point(1, 2)

type(obj) renvoie le nom de la classe pour un objet ("Point"), et "class" pour une classe. Les nombres s'affichent sous leur forme exacte la plus courte : 0.1 + 0.2 affiche 0.30000000000000004, 3.14 affiche 3.14 (avant la 2.0 : 3.140000). Utilise fixed(x, 2) pour un nombre fixe de décimales.

Modifier cette page sur GitHub