루아 p.15 - 함수 콜백(Callback)

루아에서도 함수 콜백(Callback)을 사용할 수 있습니다. 다음 예제를 통해서 살펴보도록 합시다.

  • 예제

    -- MyClass
    MyClass = {};

    function MyClass:TestOutput()
        print( "Hello world.");
    end


    -- NewMyClass
    NewMyClass = {};

    NewMyClass.m_cbFunc = nil;

    function NewMyClass:SetCallback( cbFunc)
        NewMyClass.m_cbFunc = cbFunc;
    end

    function NewMyClass:RunCallback()
        NewMyClass:m_cbFunc();
    end


    -- main
    function main()
        NewMyClass:SetCallback( MyClass.TestOutput);
        NewMyClass:RunCallback();
    end

댓글 없음: