Luaプログラミング入門 > 第5章 関数 > 変数に関数を代入する


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

変数に関数を代入する 応援する 

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

[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation