Nouveautés

Pour pouvoir accéder à ces nouveautés, il est parfois nécessaire de devoir exécuter la version en ligne sur Replit.

Nouveautés entre la version 2.12.38.2-beta et la version 2.11.36.2-beta : 

 Ajout des fonctions readFile et writeFile. help(readFile) et help(writeFile) pour plus d'informations.

• Affichage de la zone de l'erreur pour les erreurs survenues lors de l'exécution

• Correction de bugs

• Ajout de la fonctionnalité de déplacement de curseur dans la console sur Linux

Nouveautés entre la version 2.11.36.2-beta et la version 2.7.11-beta : 

 • L'opérateur d'affectation :=  a été remplacé par ->. Ainsi, a := 5 devient 5 -> a. L'avantage est que l'on peut maintenant effectuer des affectations en chaîne facilement : 5 -> a -> b -> c -> d

 • L'opérateur d'affectation -> a été remplacé par <-. Au lieu de faire 5 -> "a", on écrit maintenant "a" <- 5

 • Le déréférencement se fait maintenant avec l'opérateur @ au lieu de ':'.

 • Ajout de la fonctionnalité appelée 'container' dans le cas de Neon, similaire aux structure en C et aux types enregistrement en OCaml. Elles permettes de définir des objets contenant plusieurs champs différents. Exemple :

a = Cmplx(re:1, im:2)

Pour accéder à un champ, on écrit objet>>champ. Par exemple ici, a>>re est égal à 1 et a>>im à 2.

 • Grosse modification de la syntaxe des blocs conditionnels. Un bloc conditionnel s'écrit maintenant uniquement comme suit :

if (condition1) then

    instructions1

elif (condition2) then

    instructions2

else

    instructions3

end

Bien sûr les parties elif et else ne sont pas obligatoires, dans le cas où on ne les met pas, il faut juste fermer avec un end.

 • Ajout de trois variables __name__, __platform__ et __version__ permettant de connaître respectivement le nom du programme actuel, la plateforme depuis laquelle est exécutée Neon, et la version de Neon.

 • Les noms de variable acceptent désormais les '. La seule restriction est que l'on ne peut pas en mettre au début.

 • Ajout d'un opérateur in qui cherche un élément dans une liste. Exemple : 5 in [1,2,5] renvoie True

 • Le terminal indente automatiquement quand vous entrez des blocs de code.

 • Ajout d'un opérateur => correspondant à l'implication logique, et d'un opérateur EE (x 10 puissance). Ainsi, 1 EE 6 = 1 000 000.

 • Ajout des fonctions index, replace, count, list, sort_asc, sort_desc, sin, cos, tan, deg, rad, sqrt, ln, exp, log, log2, round, abs, ceil, floor. Tapez help(nom_fonction) dans Neon pour de plus amples informations.

 • Ajout d'une variable pi contenant 3.141593...

Nouveautés entre la version 2.7.8-beta et la version 2.7.11-beta : 

 • Ajout d'une fonction int qui renvoie la partie entière d'un nombre

 • Implémentation de la multiplication de listes

 • Finalisation de l'opérateur d'égalité en le rendant compatible à tous les types

 • Extension de <, >, <=, >= qui calculent également l'ordre lexicographique

Nouveautés entre la version 2.6.7-beta et la version 2.7.8-beta : 

 • Ajout des blocs try/except pour gérer les erreurs.

 • Ajout d'un opérateur booléen => (implique)

 Nouveautés entre la version 2.1-beta et la version 2.6.7-beta : 

 • Ajout de fonctions : assert, output, chr, ord, list_comp, create_exception et exception

 • Nouvelle syntaxe alternative pour appeler des fonctions ou des méthodes : au lieu de fonction(arg1, arg2, ...) on peut écrire arg1.fonction(arg2)

 • Préfixes 0x et 0b pour écrire des nombres en hexadécimal et en binaire

 • Ajout de mots-clés do et end ayant exactement la même fonction que { et }.

 • Ajout d'un opérateur EE équivalent à x10 puissance

 • Ajout d'un type Exception et amélioration du système d'erreurs

 Nouveautés entre la version 2.0-beta et la version 2.1-beta : 

 Changement de l'opérateur = qui renvoie désormais None

 • Ajout de l'opérateur :=, qui fonctionne comme =, mais qui renvoie la valeur affectée

 •  Ajout d'un système complet de variables locales.

local(var1, var2, ..., varn) permet de transformer des variables globales en variables locales.


 •  Nouvelle plateforme : Neon est disponible pour TI-83 Premium CE

Nouveautés entre la version 1.7 et la version 2.0-beta : 

 • Ajout des blocs d'instruction break, continue et pass


 • Ajout des fonctions définies par l'utilisateur :

function nom(param1, param2, ...) {

    return ( param1 + param2 )

}


 • Ajout des méthodes définies par l'utilisateur :

method ajoute(liste, element) {

    append(liste, element)

}


 • Ajout du mot-clé import :

import ( "module", "math" )


 • Ajout de l'opérateur del pour supprimer une variable :

a = 5

del a # a n'est plus utilisable


 • Modification de l'interpréteur pour accepter des entrées multilignes :

 Traduction des messages d'erreur et de l'affichage en anglais