変数に関数を代入する 応援する  Luaの変数にはどんな値でも代入することができます.
たとえ関数であろうとも代入が可能です.
例えば次のようなことも可能です.
function sum(x, y)
return x + y
end
function mul(x, y)
return x * y
end
hoge = sum
print("hoge is " .. type(hoge) );
print("10 + 20 is " .. hoge(10, 20) )
hoge = mul
print("10 * 20 is " .. hoge(10, 20) )
type関数は現在の変数の型を調べるものでしたね.
hogeにはsum関数やmul関数を代入しています.
そして,hogeを使い関数にアクセスすることもできます.
C言語をご存知の方は関数ポインタのようなことができると
思ってください.
実行結果
hoge is function
10 + 20 is 30
10 * 20 is 200
| |
|