racket Tutorial
Iniziare con la racchetta
Ricerca…
Osservazioni
Questa sezione fornisce una panoramica di cosa sia il racket e perché uno sviluppatore potrebbe volerlo utilizzare.
Dovrebbe anche menzionare eventuali soggetti di grandi dimensioni all'interno della racchetta e collegarsi agli argomenti correlati. Poiché la Documentazione per racket è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.
Versioni
Ciao mondo!
L'esempio seguente dichiara un pezzo di codice da scrivere in Racket e quindi stampa la stringa Hello, world
.
#lang racket
"Hello, world!"
Il codice racket può essere eseguito direttamente dalla riga di comando o dall'ID DrRacket. Digitando la racket
sulla riga di comando si avvierà un REPL, e digitando la racket
seguita da un nome di file si valuterà il contenuto del file. Ad esempio, supponiamo che il file hello.rkt
contenga il codice precedente. Ecco un esempio di esecuzione di Racket sulla riga di comando.
$ racket
Welcome to Racket v6.5.
> "Hello, world!"
"Hello, world!"
> (exit)
$ racket hello.rkt
"Hello, world!"
Racchetta
Racket è un linguaggio di programmazione a spettro completo. Va oltre Lisp e Scheme con dialetti che supportano oggetti, tipi, pigrizia e altro. Racket consente ai programmatori di collegare componenti scritti in dialetti diversi e consente ai programmatori di creare dialetti nuovi, specifici del progetto. Le librerie di Racket supportano applicazioni da server Web e database a GUI e grafici.
La documentazione ufficiale, completa e molto ben scritta può essere trovata su [ http://docs.racket-lang.org/][1] . In questo sito (Stack Overflow Documentation) puoi trovare esempi forniti dagli utenti.
Installazione
Vai su http://racket-lang.org e fai clic sul pulsante di download.
Semplice definizione della funzione ricorsiva
In Racket, usiamo la ricorsione molto frequentemente. Ecco un esempio di una funzione che somma tutti i numeri da zero al parametro, n
.
(define (sum n)
(if (zero? n)
0
(+ n (sum (sub1 n)))))
Nota che ci sono molte utili funzioni basate sulla convenienza qui usate, come zero?
e sub1
. Ciascuno fa esattamente ciò che ci si potrebbe aspettare: zero?
restituisce un valore booleano che indica se il numero dato era uguale a zero e sub1
sottrae uno dal suo argomento.
Trova le sorgenti Racket in tutte le sottodirectory
#lang racket
(for ([path (in-directory)]
#:when (regexp-match? #rx"[.]rkt$" path))
(printf "source file: ~a\n" path))
La linea #lang
specifica il linguaggio di programmazione di questo file. #lang racket
stiamo usando il baseline, linguaggio di programmazione Racket incluso nella batteria. Altre lingue sono state create da gusti Racket come Type Racket ( #lang typed/racket
) o dal linguaggio di documentazione Scribble ( #lang scribble
), in linguaggi di piccole dimensioni come la lingua per la definizione dei pacchetti ( #lang info
).
La funzione in-directory
costruisce una sequenza che percorre un albero di directory (che inizia con la directory corrente, per impostazione predefinita) e genera percorsi nell'albero. La forma for
lega il path
a ciascun percorso nella sequenza e regexp-match?
applica un modello al percorso.
Per eseguire l'esempio, installa Racket, avvia DrRacket, incolla il programma di esempio nell'area superiore in DrRacket e fai clic sul pulsante Esegui. In alternativa, salvare il programma in un file ed eseguire racket
dalla riga di comando sul file.
Installazione o configurazione
L'installazione è molto semplice. Se sei abituato a questo genere di cose, vai su https://download.racket-lang.org . Se preferisci, ci sono istruzioni di installazione dettagliate più dettagliate per i seguenti sistemi:
- Passaggi di installazione (Windows)
- Passaggi di installazione (Linux)
- Passi di installazione (macOS)