Looking for racket Keywords? Try Ask4Keywords

racketErste Schritte mit dem Schläger


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

Ausführung Dokumentation Veröffentlichungsdatum
Nächtliche Builds Neueste Dokumentation 2999-12-31
Version 6.9 Dokumentation 2017-04-01
Version 6.8 Dokumentation 2017-01-01
Version 6.7 Dokumentation 2016-10-01
Version 6.6 Dokumentation 2016-07-01
Version 6.5 Dokumentation 2016-04-01
Version 6.4 Dokumentation 2016-02-01
Version 6.3 Dokumentation 2015-11-01
Version 6.2.1 Dokumentation 2015-08-01
Version 6.2 Dokumentation 2015-06-01
Version 6.1.1 Dokumentation 2014-11-01
Version 6.1 Dokumentation 2014-08-01
Version 6.0.1 Dokumentation 2014-05-01
Version 6.0 Dokumentation 2014-02-01
Version 5.93 Dokumentation 2014-01-01
Version 5.92 Dokumentation 2014-01-01
Version 5.3.6 Dokumentation 2013-08-01
Version 5.3.5 Dokumentation 2013-06-01
Version 5.3.4 Dokumentation 2013-05-01
Version 5.3.3 Dokumentation 2013-02-01
Version 5.3.2 Dokumentation 2013-02-01
Version 5.3.1 Dokumentation 2012-11-01
Version 5.3 Dokumentation 2012-08-01
Version 5.2.1 Dokumentation 2012-03-01
Version 5.2 Dokumentation 2011-11-01
Version 5.1.3 Dokumentation 2011-08-01
Version 5.1.2 Dokumentation 2011-08-01
Version 5.1.1 Dokumentation 2011-04-01
Version 5.1 Dokumentation 2011-02-01
Version 5.0.2 Dokumentation 2010-11-01
Version 5.0.1 Dokumentation 2010-08-01
Version 5.0 Dokumentation 2010-06-01

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.

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!"
 

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:

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.