next up previous contents
Next: 7.2 文字列関数 Up: 7. 関数 Previous: 7. 関数

  
7.1 純関数と関数宣言

純関数は、関数宣言式によって定義される関数です。関数宣言式は、

func 関数名 ([引数名 [, 引数名]...]) 式

という形式で定義します。関数宣言の式の値は、関数そのものとなります。

定義した関数を呼び出すには、

関数名 ( 式1, 式2 ...)
関数名 ()

と、関数名に続いて `(' を書き、引数の指定が必要なときは、 引数を並べ、 最後に`)'で引数列を閉じます。また、引数がない場合は、`()' と1対のカッ コを記述します。引数が2つ以上あるときは、引数を`,'で区切ります。呼び出 した関数の返す値は関数本体の式の値となります。

以下に、関数定義と、その呼びだし型の例を示します。

例1. 2つの値の大きいものを返す関数 max

func max (a, b)

if (a > b) a ;
else b ;

var a = 10, b = 20, maxval ;
maxval = max(a, b) ;

Cmmの関数は、再帰呼びだしができます。そこで、おなじみの例です。

例2. 階乗計算fact

func fact (n) {

if (n == 0) 1 ;
else n * fact (n - 1) ;
}

fact(10) ;

この2つの例を見ればわかるように、Cmmは、すべて式で構成されるので、 値を返すためにreturn式を使わなくても関数を記述することができます。

関数宣言式の文法構造は、以下のようになります。


関数宣言式    $\Longrightarrow$
`func' <識別子> '(' [<仮引数列>] ')' <式>

仮引数列 $\Longrightarrow$ <識別子> [`,' <識別子>]


next up previous contents
Next: 7.2 文字列関数 Up: 7. 関数 Previous: 7. 関数
Tetsuo Ono
1998-11-05