Schemeのインタプリタ(システム)が起動されると,プロンプト(入力を促すマー ク)を表示して,ユーザからの入力を待つ状態になる.このプロンプトが出てい る状態をトップレベルと呼ぶ.トップレベルにおいて,キーボードから式を入力 し,最後に入力の終わりとして「改行」キーを入れると,システムは入力された 式をすぐに計算(評価)して,結果として得られた値を返し(表示し),再びトップ レベルに戻り,入力を待つ状態になる.
> -78 -78 > (+ 2 1) 3 > (* 2 3 4) 24ここに書かれているように,Schemeの式は括弧を使って表現される.括弧の中の まず最初に演算記号があり,それに続いて演算データが並べられる.このような 記法を前置記法という.演算データがまた別の式になっていてもよい.
> (* 2 (+ 1 4 5) (/ 12 3)) 80
ファイルのロード
> (load "filename.scm")を実行することにより,キーボードから直接入力する代りに,filename.scmに書 かれている全ての式を評価させることができる.ロードが終了するとプロンプト が表示され,入力待ちになる.大きなプログラムを,毎回キーボードからタイプ する必要はない.
コメント
ファイルの中に,;(セミコロン)があると, それ以降,その行の終わりまではコメントとみなされ,評価されない.
; 関数f(x,y) = x + yの定義 (define (f x y) (+ x y)) ; 関数g(x,y,z) = (x+y)(y+z)(z+x)の定義 (define (g x y z) ; 行の途中からでもコメントを書くこともできる. (* (+ x y) ;; 関数についてはここを参照のこと. (+ y z) (+ z x)))
空白
Schemeにおいて,空白は重要な意味を持つ
> (+ 2 1) 3 > (+2 1) ==> error ;; +2が1を引数とした関数の名前であると解釈される.タブ,改行も空白文字である.式の途中の改行は無視される.
> (+ 2 1) 3