あ〜・・・これ説明してなかったね・・・すっかり忘れてた・・・(をい
うんっと、まぁ、これも数学と大体は一緒・・・かなぁ
まぁ簡単に一次関数を使って例を挙げることにする
一次関数は知っての通り、
y = ax
と定義される
とりあえずわかりやすくするために此処ではaを3にしておくことにしよう
y = 3x
んでこのxにてきとーに1つ数字を放り込めばyも自動的に1つの数字で返ってくるわけだな
プログラミングではこの時の、xを引数、yを戻り値って呼ぶ
以下に同じものを簡単にLuaで定義してみる
function Linear3(x) y=3*x; return y; end
さて説明
まず最初のfunctionはこれ以降の記述が1つの関数ですよ、という宣言だ
これで最後のendまでが1つの関数・・・まぁ、↑の例で言うなら「y=3x」という1つの式ですよ、と認識されるわけだ
次、Linear3は関数の名前
これは別に自分で好きなようにつけちゃっておk
今回は「傾きが3の一次関数(linear function)」だからわかりやすくLinear3ってしただけ
次の(x)は引数リストという
数式「y=3x」のうちの、最初に自分で値を決める「x」の部分だな
今回はxの1個だけだけど、引数が複数ある場合は(引数1,引数2,〜)って感じにコンマで区切って並べてあげればいい
その次からが関数の本体
今回の場合は、まず「3*x」を計算した結果を「y」って変数を作って代入する
後ろのセミコロンはそこまでで一旦文が途切れますよって印
まぁ文字列の時の\nみたいなもんだw
このセミコロン、言語によっては基本的に改行の手前には必ずくっつけるのが慣例になってたりする
でもLuaじゃあんま関係ないかもw
うちもつけてないし(ぁ
そんでもってreturn yは「y」に代入された結果を答えとして返しますよって宣言
ここで返される値・・・今回の場合は「y」に代入された中身が戻り値になる
これも複数の戻り値を返すことも出来て、その場合は「return 戻り値1,戻り値2,〜」と引数リストと同じくコンマで区切って並べてやればいい
んでendで関数終了っと
実際にこの関数のxに何か数字を入れて答えが知りたいときは、例えばx=2の時の答えが欲しかったら
Answer = Linear3(2)
って書けばAnswerにy=3*2が計算されて返ってくるわけだ