racketラケットを始める


備考

このセクションでは、ラケットの概要と開発者がラケットを使用する理由を概説します。

また、ラケット内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。ラケットのドキュメンテーションは新しいので、それらの関連トピックの初期バージョンを作成する必要があるかもしれません。

バージョン

バージョンドキュメンテーション発売日
ナイトリービルド 最新のドキュメント 2999-12-31
バージョン6.9 ドキュメンテーション 2017-04-01
バージョン6.8 ドキュメンテーション 2017-01-01
バージョン6.7 ドキュメンテーション 2016-10-01
バージョン6.6 ドキュメンテーション 2016-07-01
バージョン6.5 ドキュメンテーション 2016-04-01
バージョン6.4 ドキュメンテーション 2016-02-01
バージョン6.3 ドキュメンテーション 2015-11-01
バージョン6.2.1 ドキュメンテーション 2015-08-01
バージョン6.2 ドキュメンテーション 2015-06-01
バージョン6.1.1 ドキュメンテーション 2014-11-01
バージョン6.1 ドキュメンテーション 2014-08-01
バージョン6.0.1 ドキュメンテーション 2014-05-01
バージョン6.0 ドキュメンテーション 2014-02-01
バージョン5.93 ドキュメンテーション 2014-01-01
バージョン5.92 ドキュメンテーション 2014-01-01
バージョン5.3.6 ドキュメンテーション 2013-08-01
バージョン5.3.5 ドキュメンテーション 2013-06-01
バージョン5.3.4 ドキュメンテーション 2013-05-01
バージョン5.3.3 ドキュメンテーション 2013-02-01
バージョン5.3.2 ドキュメンテーション 2013-02-01
バージョン5.3.1 ドキュメンテーション 2012-11-01
バージョン5.3 ドキュメンテーション 2012-08-01
バージョン5.2.1 ドキュメンテーション 2012-03-01
バージョン5.2 ドキュメンテーション 2011-11-01
バージョン5.1.3 ドキュメンテーション 2011-08-01
バージョン5.1.2 ドキュメンテーション 2011-08-01
バージョン5.1.1 ドキュメンテーション 2011-04-01
バージョン5.1 ドキュメンテーション 2011-02-01
バージョン5.0.2 ドキュメンテーション 2010-11-01
バージョン5.0.1 ドキュメンテーション 2010-08-01
バージョン5.0 ドキュメンテーション 2010-06-01

すべてのサブディレクトリでラケットソースを検索する

#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を引いた値を返します。