このセクションでは、ラケットの概要と開発者がラケットを使用する理由を概説します。
また、ラケット内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。ラケットのドキュメンテーションは新しいので、それらの関連トピックの初期バージョンを作成する必要があるかもしれません。
#lang racket
(for ([path (in-directory)]
#:when (regexp-match? #rx"[.]rkt$" path))
(printf "source file: ~a\n" path))
#lang
行は、このファイルのプログラミング言語を指定します。 #lang racket
ベースラインのバッテリ内蔵ラケットプログラミング言語を使用しています。他の言語は、Type Racket( #lang typed/racket
)やドキュメント言語Scribble( #lang scribble
)などのラケットの味から、パッケージを定義する言語( #lang info
)などの小さな便利な言語にまで#lang info
ます。
in-directory
関数は、ディレクトリツリー(デフォルトではカレントディレクトリから始まる)を歩き、ツリー内にパスを生成するシーケンスを構築します。 for
形式は、シーケンス内の各パスにpath
をバインドし、 regexp-match?
パスにパターンを適用します。
この例を実行するには、Racketをインストールし、DrRacketを起動し、サンプルプログラムをDrRacketの一番上の領域に貼り付け、実行ボタンをクリックします。または、プログラムをファイルに保存し、ファイルのコマンドラインからracket
を実行します。
次の例では、Racketに書き込まれるコードを宣言し、 Hello, world
という文字列を出力します。
#lang racket
"Hello, world!"
ラケットコードは、コマンドラインから直接実行することも、DrRacket IDE上で実行することもできます。タイピングracket
REPLを起動するコマンドラインで、かつ入力racket
ファイル名が続くと、ファイルの内容を評価します。たとえば、ファイルhello.rkt
に上記のコードが含まれているとします。次に、コマンドラインでRacketを実行する例を示します。
$ racket
Welcome to Racket v6.5.
> "Hello, world!"
"Hello, world!"
> (exit)
$ racket hello.rkt
"Hello, world!"
インストールは非常に簡単です。このようなことに慣れている場合は、 https://download.racket-lang.orgにアクセスしてください 。必要に応じて、次のシステムの詳細な段階的インストール手順があります。
ラケットはフルスペクトルのプログラミング言語です。オブジェクト、型、怠惰などをサポートする方言を持つLispやSchemeを超えています。 Racketを使用すると、プログラマーは異なる方言で記述されたコンポーネントをリンクすることができ、プログラマーはプロジェクト固有の新しい方言を作成することができます。ラケットのライブラリは、WebサーバやデータベースからGUIやチャートへのアプリケーションをサポートします。
公式で包括的で非常によく書かれた文書は、[ http://docs.racket-lang.org/] [1 ]にあります。このサイト(Stack Overflow Documentation)には、ユーザーが投稿した例があります。
http://racket-lang.orgにアクセスし、ダウンロードボタンをクリックしてください。
ラケットでは、非常に頻繁に再帰を使用します。ここでは、ゼロからパラメータn
までのすべての数値を合計する関数の例を示します。
(define (sum n)
(if (zero? n)
0
(+ n (sum (sub1 n)))))
ここでは便利な便利な関数が多くあります( zero?
など) zero?
とsub1
。それぞれは、あなたが期待しているものをそれぞれ行います: zero?
指定された数値がゼロに等しいかどうかを示すブール値を返し、 sub1
は引数から1を引いた値を返します。