では,関数を作ってみましょう.
関数は次のように定義します.
書式
function 関数名( 引数 )
処理
end
ここで,二つの値を引数として渡し,その和を求める関数を
作ってみましょう.
function sum(x, y)
return x + y
end
hoge = 10
piyo = 20
result = sum( hoge, piyo )
print( hoge .. " + " .. piyo .. " = " .. result )
実行結果
10 + 20 = 30
まずsum関数を使う前に,関数を定義しておかなければならない事に注意してください.
関数には好きな名前をつけてください.ただし,
すでに使われている関数名や変数名は使わないでください.
例えば,printなどの名前をつけないでください.
関数命名のルールは変数の場合と同じです.
C言語との違い
さて,関数を呼び出す際に sum( hoge, piyo ) としました.
関数を呼び出す際には引数と呼ばれるものを渡します.
この引数とはどういったものでしょうか.
下図を使ってその説明をします.
上図は引数の様子を示した図です.
呼び出した側の引数を実引数といい,呼び出された側の
引数を仮引数といいます.このとき,実引数の値が仮引数の値にコピーされます.
つまり,
function func(x, y)
x = 10
y = 20
end
hoge = 12
piyo = 22
func( hoge, piyo )
print(hoge, piyo )
としても,x,y はhoge, piyoのコピーなので,中身をいくら書き換えても
呼び出しもとのhoge, piyoには影響を及ぼしません.
引数に関して,もしかしたら何も受け取る必要が無い場合があるかもしれません.
そういった場合は,引数の中は空にしておきます.
関数の戻り値に関しては次節で説明します.