Schemeで関数を定義する
※ 以下はScheme初心者である私の勉強用のメモです。
間違っている可能性がありますので注意してください。
関数
関数を定義するにはdefine式を使用する。
一般形
(define (関数名 引数1, 引数2, ・・・) 式・・・・)
例1
; 与えられた仮引数の値の2乗を返す (define (square x) (* x x)) ; 実行例 > (square 2) 4 > (square 3) 9
例2
; 与えられた仮引数の値の3乗を返す (define (cubic x) (*(square x)x)) ; 与えられた仮引数の値の2乗を返す (define (square x) (* x x)) ; 実行例 > (cubic 2) 8 > (cubic 3) 27
なお、define式を使って値や式に大域的な名前をつけることもできる。
一般形
(define 名前 式)
例3
; 3.14にPIという名前をつける (define PI 3.14) ; 実行例> > PI 3.14
例4
; 1 + 2にFooという式にFooという名前をつける (define Foo (+ 1 2)) ; 実行例> > Foo 3