Début rapide

Portrait de trax

Pré-requis ?

  • Votre meilleurs éditeur de texte : emacs (XEmacs, ou Micro Emacs pour certains)
  • Un minimum de notion en programmation : savoir ce qu'est une variable, une condition ou une boucle
  • De la patience et un cerveau

Comment exécuter du code ?

  • Pour une seule ligne :
    C-x C-e
  • Le code sera exécuté jusqu'au curseur.

  • Un buffer entier :
    Bien que le Lisp ne soit pas à proprement parler compilé, emacs a besoin de l'analyser (parser) avant que vous n'exécutiez des commandes.
    M-x eval-buffer
    Vous pouvez par la suite appeler une fonction comme décrit plus haut.

Exemple :

(+ 2 3)

Renverra dans le mini-buffer 5.

Cette écriture inverse s'appelle Polonaise inversée (http://fr.wikipedia.org/wiki/Notation_polonaise_inverse).
Brièvement cela consiste à placer la fonction en premier puis les arguments. Finalement c'est ce qui est fait dans la plupart des langages pour les fonctions autre que celles arithmétiques : en C

printf("plop %d\n" , 42);

La fonction est bien positionnée en premier printf puis ses arguments "plop %d\n" et 42. Nous comprenons donc que + est non pas un opérateur mais bien une fonction, qu'il est d'ailleurs possible de redéfinir.

Fonction d'affichage

(print 'bonjour)

En exécutant ( C-x C-e cette ligne vous devriez voir apparaître deux fois la ligne bonjour. Nous expliquerons cela dans la partie d'écriture de fonction.

Poser une question

Question binaire (Yes or No question)

(y-or-n-p "Aimez-vous ce tutoriel Emacs Lisp ?")

Le retour est soit nil pour une réponse négative ou t pour une réponse positive.

Question ouverte

(interactive "MEntrez votre login : ")

Le "M" spécifie que la réponse est une chaîne de caractères.