まずは簡単に使ってみましょう (2/4)


変数 / 関数 の定義 ならびに関数呼出し: define

変数や関数を定義するには、define 文を使います。 まずその前に、Scheme の世界で 変数名 / 関数名としてどのようなものが 使えるか触れましょう。 変数名や関数名として使われるもの (identifier) は、 空白が途中に入っておらず、先頭が数字で無ければ、 + - . * / < = > ! ? : $ % _ & ~ ^ や数字が途中に入っていても一つのものとして扱ってくれます。 例えば、 tmp-3 なども 一つの変数名として扱ってくれます。 では、実際に変数や関数を定義してみましょう。
> (define x (+ 1 3))        ; x を (+ 1 3) の値: 4 として定義
> x                         
4                           ; x を評価すると 4 を値として返す
> (+ x 3)                       
7                           ; (+ x 3) を評価すると 7 を値として返す
> (define x-3 9)            ; x-3 という変数を 値 9 として定義
> x-3
9                           ; x-3 を評価すると値は 9 となる。
> (define (f x) (* x 2))    ; 引数 x を持つ 関数 f を (* x 2) を返すものとして定義
> f
#<procedure:f>           ; f を評価すると、「f という手続き(procedure)」と返事
> (f 3)
6                           ; (f 3) を評価すると 値 6 を返す
> (define (foo x y)
    (* x (+ y 1)))          ; 二引数をとる関数 foo を定義
> (foo 2 3)
8                           ; (foo 2 3) の値は 8 です
これで、簡単な算術のみを使った関数は定義出来るようになったわけです。

関連情報はこちらを見て下さい。


99.9.29/ Tomio KAMADA: kamada@cs.kobe-u.ac.jp