在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
lua里面函数是first-class function,这样就显得lua的函数跟C/C++里面不太一样.
因为函数是first-class function,所以你可以拿一个变量去索引那个函数,而且此时函数的上下文信息还有,在函数体内可以访问外部的信息.(扯远了,这是闭包,有兴趣的去看看wiki) 经常看到这样的代码:
其实有了上面的知识,我们也能知道,刚才那段代码也就是
tb.print和tb:print的含义略微不同,:调用函数会多传递进去一个self进去,差不多相当于OOP里面的成员函数调用. PS:之前一个公司问.和:的区别,我说成可以理解为成员函数和非成员函数的区别,其实是有一点不对.lua是动态语言,跟C/CPP有很大的不同. |
请发表评论