関数

関数は 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 はテーブルになっている。可変長引数と多値の関係はややこしいので省略。