関数は function () 〜 end で定義する。
function (a, b)
return a + b
end
具体的な関数定義は、
function f(a, b)
return a + b
end
のように名前を書くが、これは
f = function (a, b)
return a + b
end
と同じこと。関数呼出しはC言語と同じような感じ。カッコ必須。
可変長引数は ... を使う。可変長引数は arg という名前の変数に格納される。 arg はテーブルになっている。可変長引数と多値の関係はややこしいので省略。