[lua]原来这才是表驱动的正确表达方式

曾经写了个很煞笔的脚本模拟switch..case语法形式。[lua]尝试一种Case语法糖

 而今实际项目应用中突发,原来这才是正确的表驱动方式表达。如下所贴:

function event_do( event )
    -- event:string
    local handler ={}
    function handler.touchBegin()
        print("handler.touchBegin")
    end
    function handler.touchEnd()
        print("handler.touchEnd")
    end

    local event_handler = handler[event]
    return event_handler and event_handler()
end

event_do("touchBegin")

event_do("touchEnd")


没有switch..case语法支持的语言环境下,如何避开大篇幅的if..elseif..连串的段落;体现内容的组织性,刚好使用lua自身特性,十分完美的展现表驱动编程..

感谢上帝,感谢lua创造之父。

posted @ 2016-01-12 22:35  鱼木  阅读(578)  评论(0编辑  收藏  举报