Luaの関数の特徴
Luaの関数はファーストクラスオブジェクトです。
Luaの関数は関数型というひとつの型なので変数に代入したり、他の関数の引数として渡したり、
戻り値として返すことが出来ます。
Luaの関数は実際には変数に関数の実体の参照を代入したものと言えます。
関数の定義
関数を定義するには予約語の function を使います。
function 関数名(引数1, 引数2, ..) 関数の処理 end
戻り値
戻り値を返すには return を記述します。
function 関数名(引数1, 引数2, ..) 関数の処理 return 戻り値 end
複数の戻り値を返す
Luaの関数では複数の戻り値を返すことが可能です。
複数の戻り値を返すには return 戻り値1, 戻り値2, 戻り値3 のように戻り値をカンマ区切りで記述します。
function 関数名(引数1, 引数2, ..) 関数の処理 return 戻り値1, 戻り値2, 戻り値3 end
複数の戻り値を変数で受け取るときにもカンマ区切りで変数を記述します。
ver1, ver2, ver3 = func(n)