之前写过一个c#版本的使用字典去解决switch问题 http://www.cnblogs.com/sanyejun/p/7806210.html 现在用写lua版本的 function Main() local myTable = {} --绑定 myTable["] = function() TestMy() end --调用 myTable["](); end function TestMy() -- body print("牛逼") end -------…
1.闭包的由来: 个人理解,lua中之所以出现闭包的概念,完全是因为lua中允许函数的嵌套定义,并且在内嵌函数中使用了外包函数中定义的局部变量,例如c.c#就不允许函数的嵌套定义(但是允许函数的嵌套调用) 以下是函数嵌套定义的一个例子: function fun1(n) local function fun2() print(n) end return fun2 end fun1叫做fun2的外包函数,fun2叫做fun1的内嵌函数,并且这中内嵌与外包关系是允许传递的.什么意思呢?就是fun1的…
Lua提供了一组传统的.小巧的控制结构,包括用于条件执行的if,用于迭代的while.repeat和for.所有的控制结构都有意个显式的终止符:if.for和while以end作为结尾,repeat以until作为结尾.1. if then else end if a < b then return a else return b end if line > MAXLINES then showpage() line = end 若要编写嵌套的if,可以使用elseif. if op == &…