[Prev] [ Up ] [Next]
Schemeで扱うデータは,
> (define abc 3) abc > AbC 3 > (DefinE deF 1) def > (+ Def aBC) 4記号をシステムに与えるには,クォートを用いる.
> (quote x) x > (quote a-symbol) a-symbol上記の通り,クォートしないでシステムに記号名を入力すると,同じ名前の変 数の値や関数を参照することになる.したがって,定義されていない変数を参照 した場合はエラーとなる.
> (define x 1) x > x 1 ;; xという印字名をもつ変数の値 > a-symbol ==> error : unbound variable : a-symbol ;; a-symbolという変数は定義されていない
(データ1 データ2 ... )のように括弧でくくられた(あらゆる種類の)データの列である. つまり各データが再びリストになっていてもよい.
;; リストの例 (1 2 3 4) (a "this is a string" 34 +) (a b (c (d e) f) g (h) i) ;; 中身のない空リスト ( )このようにリストは,その定義の中にそれ自体が現われる(再帰的な)構造を持つ. またそれぞれのデータを要素と呼ぶ.
#(データ1 データ2 ... )のように表現されるデータ列である. 表現としてはリストとほぼ同様だが,システム内部での実現方法がリストとは異なる. 各要素の値の参照についてはベクトルの方が速いが,各要素操作(要素の追加,削除,置換など)に対する柔軟性については,リストの方が優れる. 一般的にはリストを用いることがほとんどである.
[Prev] [ Up ] [Next]