racket Tutorial
Erste Schritte mit dem Schläger
Suche…
Bemerkungen
In diesem Abschnitt erhalten Sie einen Überblick darüber, was ein Racket ist und warum ein Entwickler es verwenden möchte.
Es sollte auch alle großen Themen innerhalb des Schlägers erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für Racket neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.
Versionen
Hallo Welt!
Das folgende Beispiel deklariert einen Code, der in Racket geschrieben werden soll, und gibt dann die Zeichenfolge Hello, world
.
#lang racket
"Hello, world!"
Der Racket-Code kann entweder direkt von der Befehlszeile oder in der DrRacket-IDE ausgeführt werden. Typing racket
auf der Kommandozeile ein REPL starten, und die Eingabe racket
durch einen Dateinamen gefolgt wird der Inhalt der Datei auswerten. Angenommen, die Datei hello.rkt
enthält den obigen Code. Hier ein Beispiel für die Ausführung von Racket in der Befehlszeile.
$ racket
Welcome to Racket v6.5.
> "Hello, world!"
"Hello, world!"
> (exit)
$ racket hello.rkt
"Hello, world!"
Schläger
Racket ist eine Programmiersprache mit vollem Spektrum. Es geht über Lisp und Scheme hinaus mit Dialekten, die Objekte, Typen, Faulheit und mehr unterstützen. Mit dem Racket können Programmierer Komponenten verknüpfen, die in verschiedenen Dialekten geschrieben sind, und Programmierer können neue projektspezifische Dialekte erstellen. Rackets Bibliotheken unterstützen Anwendungen von Webservern und Datenbanken bis hin zu GUIs und Diagrammen.
Die offizielle, umfassende und sehr gut geschriebene Dokumentation finden Sie unter [ http://docs.racket-lang.org/([1] . Auf dieser Site (Stack Overflow Documentation) finden Sie Beispiele für Benutzer.
Installation
Gehen Sie zu http://racket-lang.org und klicken Sie auf die Download-Schaltfläche.
Einfache rekursive Funktionsdefinition
In Racket verwenden wir sehr häufig Rekursion. Hier ist ein Beispiel für eine Funktion, die alle Zahlen von Null bis zum Parameter n
.
(define (sum n)
(if (zero? n)
0
(+ n (sum (sub1 n)))))
Beachten Sie, dass hier viele nützliche Komfortfunktionen verwendet werden, z. B. zero?
und sub1
. Jeder tut genau das, was Sie erwarten könnten: zero?
gibt einen booleschen sub1
, der sub1
, ob die angegebene Zahl gleich Null war, und sub1
subtrahiert eins von seinem Argument.
Finden Sie Racket-Quellen in allen Subdirs
#lang racket
(for ([path (in-directory)]
#:when (regexp-match? #rx"[.]rkt$" path))
(printf "source file: ~a\n" path))
Die Zeile #lang
gibt die Programmiersprache dieser Datei an. #lang racket
wir die #lang racket
, die im Lieferumfang der Racket- #lang racket
enthalten ist. Andere Sprachen reichen von Racket-Varianten wie Type Racket ( #lang typed/racket
) oder der Dokumentationssprache Scribble ( #lang scribble
) bis zu kleinen #lang scribble
wie der Sprache für die Definition von Paketen ( #lang info
).
Die in-directory
Funktion erstellt eine Sequenz, die eine Verzeichnisstruktur durchläuft (standardmäßig mit dem aktuellen Verzeichnis) und Pfade in der Struktur generiert. Das for
Formular bindet den path
an jeden Pfad in der Sequenz, und regexp-match?
wendet ein Muster auf den Pfad an.
Um das Beispiel auszuführen, installieren Sie Racket, starten Sie DrRacket, fügen Sie das Beispielprogramm in den oberen Bereich von DrRacket ein und klicken Sie auf die Schaltfläche Ausführen. Speichern Sie das Programm alternativ in einer Datei und führen Sie das racket
über die Befehlszeile der Datei aus.
Installation oder Setup
Die Installation ist sehr einfach. Wenn Sie sich an diese Dinge gewöhnt haben, gehen Sie einfach zu https://download.racket-lang.org . Wenn Sie möchten, gibt es detailliertere Schritt-für-Schritt-Installationsanleitungen für die folgenden Systeme: