racket Tutoriel
Commencer avec la raquette
Recherche…
Remarques
Cette section fournit une vue d'ensemble de ce qu'est la raquette et pourquoi un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les grands sujets dans la raquette, et établir un lien avec les sujets connexes. La documentation de la raquette étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Versions
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 la raquette peut être exécuté directement à partir de la ligne de commande ou de l'EDI DrRacket. Taper la racket
sur la ligne de commande va démarrer une REPL, et taper la racket
suivie 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!"
Raquette
La raquette 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 relier des composants écrits dans différents dialectes et permet aux programmeurs de créer de nouveaux dialectes spécifiques à un projet. Les bibliothèques de Racket prennent en charge les applications des serveurs Web et des bases de données vers des interfaces graphiques et des 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 à http://racket-lang.org et cliquez sur le bouton de téléchargement.
Définition simple de la fonction récursive
Dans Racket, nous utilisons la récursivité très fréquemment. 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 utiles basées sur la commodité utilisées ici, telles que zero?
et sub1
. Chacune fait-elle exactement ce à quoi vous pourriez vous attendre: zero?
renvoie un booléen indiquant si le nombre donné est égal à zéro et sub1
soustrait un de son argument.
Rechercher des sources de raquette 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 inclus dans la batterie. D'autres langages sont disponibles à partir de versions de Racket telles que Type Racket ( #lang typed/racket
) ou le langage de documentation Scribble ( #lang scribble
), dans de petits langages tels que le langage de définition des paquets ( #lang info
).
La fonction in-directory
crée une séquence qui parcourt une arborescence de répertoires (en commençant par le répertoire en cours, par défaut) et génère des chemins dans l'arborescence. Le for
form lie le path
d' path
à chaque chemin dans la séquence et regexp-match?
applique un motif au chemin.
Pour exécuter l'exemple, installez Racket, démarrez DrRacket, collez le programme exemple dans la zone supérieure de DrRacket, puis cliquez sur le bouton Exécuter. Vous pouvez également enregistrer le programme dans un fichier et exécuter la racket
partir de la ligne de commande du fichier.
Installation ou configuration
L'installation est très simple. Si vous êtes habitué à ce genre de chose, allez simplement sur https://download.racket-lang.org . Si vous préférez, il existe des instructions d’installation détaillées pour les systèmes suivants: