超!Gauche入門
Gaucheの使い方
Gaucheでプログラムを実行する場合は、大きく3つの方法があります。
1つ目は、プログラムを書いたファイルを作り、Cygwin Bash Shellやshell上で「goshプログラムファイル」とタイプし実行する方法です。
2つ目は、Cygwin Bash Shellやshell上でgoshとだけ入力し、gosh>というプロンプトが表示されたら、そこにプログラムを直接入力しながら実行する方法です。エディタで作ったプログラムをコピー・ペーストしながら、プログラミングを進めていくこともできます。
3つ目は、emacs(Meadow)上でC-c S(Ctrl+cの後にSを入力)でgoshを走らせ、別のウィンドウにあるプログラムをC-x C-e(Ctrl+xの後にCtrl+e)で与えながら実行する方法です。
後に説明した方法ほど、能率良く開発が行えます。
Lispのデータ構造S式
Gauche(Lisp/Scheme)が扱うデータは、数値や文字列、ベクターやハッシュなどJavaやPerlなどと同じようなデータ以外に、シンボルやS式というものがあります。
シンボルとは変数名や関数名のように何か実体につけられた名前です。ただし、実体の無い単なる名前としても使います。
S式とは前ページのプログラムで見たように()内に要素を並べたもので、リストとも呼ばれます。要素は数値や文字列のようなリテラル、シンボル以外にS式も書けます。したがって、S式は入れ子になった構造を表現できるので、いろいろなデータ構造を表すことが可能です。
実はGaucheが扱うデータはプログラムを含めすべてS式です。S式の一部分としてリテラルやシンボルも含まれます。
リスト4は、リスト3のHTMLと同等の内容をS式で表しています。HTMLでは、
Gauche Web Page
のように開始タグ、内容、終了タグの構造をしていますが、単純なHTML要素の場合、開始タグと終了タグの違いは/だけなので、ここでは (タグ名 内容...)というS式で表すことにします。内容が数値や文字列の場合は、Gaucheの数値、文字列で書きます。また、要素内部に