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