Débuter avec la raquette

Raquette

Racket est un langage de programmation à spectre complet. Il va au-delà de Lisp et Scheme avec des dialectes qui prennent en charge les objets, les types, la paresse, etc. Racket permet aux programmeurs de lier des composants écrits dans différents dialectes, et il permet aux programmeurs de créer de nouveaux dialectes spécifiques au projet. Les bibliothèques de Racket prennent en charge les applications allant des serveurs Web et des bases de données aux interfaces graphiques et aux graphiques.

La documentation officielle, complète et très bien écrite peut être trouvée sur [http://docs.racket-lang.org/][1]. Sur ce site (Stack Overflow Documentation), vous pouvez trouver des exemples fournis par les utilisateurs.

Installation

Allez sur http://racket-lang.org et cliquez sur le bouton de téléchargement.

[1] : http://docs.racket-lang.org

Bonjour le monde!

L’exemple suivant déclare un morceau de code à écrire dans Racket, puis imprime la chaîne “Hello, world”.

#lang racket
"Hello, world!"

Le code de racket peut être exécuté directement depuis la ligne de commande ou sur l’IDE DrRacket. Taper “racket” sur la ligne de commande lancera un REPL, et taper “racket” suivi d’un nom de fichier évaluera le contenu du fichier. Par exemple, supposons que le fichier hello.rkt contienne le code ci-dessus. Voici un exemple d’exécution de Racket sur la ligne de commande.

$ racket
Welcome to Racket v6.5.
> "Hello, world!"
"Hello, world!"
> (exit)
$ racket hello.rkt
"Hello, world!"

Définition de fonction récursive simple

Dans Racket, nous utilisons très fréquemment la récursivité. Voici un exemple de fonction qui additionne tous les nombres de zéro au paramètre “n”.

(define (sum n)
    (if (zero? n)
        0
        (+ n (sum (sub1 n)))))

Notez qu’il existe de nombreuses fonctions pratiques utiles utilisées ici, telles que zero? et sub1. Chacun fait respectivement exactement ce à quoi vous pourriez vous attendre : zero? renvoie un booléen qui indique si le nombre donné était égal à zéro, et sub1 soustrait un de son argument.

Installation ou configuration

L’installation est très simple. Si vous êtes habitué à ce genre de choses, rendez-vous simplement sur https://download.racket-lang.org. Si vous préférez, il existe des instructions d’installation étape par étape plus détaillées pour les systèmes suivants :

  • [Étapes d’installation (Windows)][1]
  • [Étapes d’installation (Linux)][2]
  • [Étapes d’installation (macOS)][3]

[1] : https://www.wikiod.com/fr/racket/etapes-dinstallation-windows [2] : https://www.wikiod.com/fr/racket/etapes-dinstallation-linux [3] : https://www.wikiod.com/fr/racket/etapes-dinstallation-macos

Trouver les sources de Racket dans tous les sous-répertoires

#lang racket 
(for ([path (in-directory)]
  #:when (regexp-match? #rx"[.]rkt$" path))
  (printf "source file: ~a\n" path))

La ligne #lang spécifie le langage de programmation de ce fichier. #lang racket nous utilisons le langage de programmation Racket de base, inclus dans la batterie. D’autres langages vont des saveurs Racket telles que Type Racket (#lang typed/racket) ou le langage de documentation Scribble (#lang scribble), à de petits langages pratiques tels que le langage de définition des packages (#lang info) .

La fonction in-directory construit une séquence qui parcourt une arborescence de répertoires (en commençant par le répertoire courant, par défaut) et génère des chemins dans l’arborescence. La forme for lie path à chaque chemin de la séquence, et regexp-match? applique un motif au chemin.

Pour exécuter l’exemple, installez Racket, démarrez DrRacket, collez l’exemple de programme dans la zone supérieure de DrRacket et cliquez sur le bouton Exécuter. Vous pouvez également enregistrer le programme dans un fichier et exécuter “racket” à partir de la ligne de commande sur le fichier.