function my_func( param ) { local key1 = assert( param.key1 ) -- key1は必須のパラメータ local key2 = param.key2 -- key2はあってもなくても良いパラメータ } my_func { key2=10, key1=30 } -- テーブルを渡せばOK。キータイプは順不同で渡せるメリットがある。 my_func { key1=15 } -- 不要なパラメータは省略できる。