racket Samouczek
Pierwsze kroki z rakietą
Szukaj…
Uwagi
Ta sekcja zawiera przegląd tego, czym jest rakieta i dlaczego deweloper może chcieć z niej skorzystać.
Powinien również wymieniać wszelkie duże tematy w obrębie rakiety i link do powiązanych tematów. Ponieważ Dokumentacja dotycząca rakiety jest nowa, może być konieczne utworzenie początkowych wersji tych pokrewnych tematów.
Wersje
Witaj świecie!
W poniższym przykładzie zadeklarowano fragment kodu do zapisania w Racket, a następnie wypisano napis Hello, world .
#lang racket
"Hello, world!"
Kod rakiety można uruchomić bezpośrednio z wiersza poleceń lub w IDR DrRacket. Wpisanie racket w wierszu poleceń uruchomi REPL, a po wpisaniu racket nazwa pliku oceni zawartość pliku. Załóżmy na przykład, że plik hello.rkt zawiera powyższy kod. Oto przykład uruchomienia rakiety w wierszu poleceń.
$ racket
Welcome to Racket v6.5.
> "Hello, world!"
"Hello, world!"
> (exit)
$ racket hello.rkt
"Hello, world!"
Rakieta
Rakieta to język programowania z pełnym spektrum. Wykracza poza Lisp i Scheme z dialektami, które obsługują przedmioty, typy, lenistwo i wiele innych. Racket umożliwia programistom łączenie komponentów napisanych w różnych dialektach i umożliwia programistom tworzenie nowych, specyficznych dla projektu dialektów. Biblioteki rakiet obsługują aplikacje od serwerów internetowych i baz danych po GUI i wykresy.
Oficjalna, kompleksowa i bardzo dobrze napisana dokumentacja znajduje się na [ http://docs.racket-lang.org/][1] . Na tej stronie (Dokumentacja przepełnienia stosu) można znaleźć przykłady autorstwa użytkowników.
Instalacja
Wejdź na http://racket-lang.org i kliknij przycisk pobierania.
Prosta definicja funkcji rekurencyjnej
W Racket bardzo często używamy rekurencji. Oto przykład funkcji, która sumuje wszystkie liczby od zera do parametru n .
(define (sum n)
(if (zero? n)
0
(+ n (sum (sub1 n)))))
Zauważ, że jest tu wiele przydatnych funkcji opartych na wygodzie, takich jak zero? i sub1 . Każdy z nich robi dokładnie to, czego można się spodziewać: zero? zwraca wartość logiczną, która mówi, czy podana liczba była równa zero, a sub1 odejmuje jedną z jej argumentu.
Znajdź źródła rakiet we wszystkich podkatalogach
#lang racket
(for ([path (in-directory)]
#:when (regexp-match? #rx"[.]rkt$" path))
(printf "source file: ~a\n" path))
Wiersz #lang określa język programowania tego pliku. #lang racket używamy podstawowego, programowanego języka programowania dla #lang racket . Inne języki, od wersji Racket, takie jak Type Racket ( #lang typed/racket ) lub język dokumentacji Scribble ( #lang scribble ), do małych wygodnych języków, takich jak język definiowania pakietów ( #lang info ).
Funkcja in-directory konstruuje sekwencję, która chodzi po drzewie katalogów (domyślnie zaczynając od katalogu bieżącego) i generuje ścieżki w drzewie. Forma for wiąże path z każdą ścieżką w sekwencji i regexp-match? stosuje wzór do ścieżki.
Aby uruchomić przykład, zainstaluj Racket, uruchom DrRacket, wklej przykładowy program do górnego obszaru w DrRacket i kliknij przycisk Uruchom. Alternatywnie, zapisz program do pliku i uruchom racket z wiersza poleceń pliku.
Instalacja lub konfiguracja
Instalacja jest bardzo prosta. Jeśli jesteś przyzwyczajony do tego rodzaju rzeczy, po prostu przejdź do https://download.racket-lang.org . Jeśli wolisz, dostępne są bardziej szczegółowe instrukcje instalacji krok po kroku dla następujących systemów: