今天继续抽时间学习lua语言,慢慢接触到lua几个重要的语言特性了,比如:元表、元方法、模块与包的创建与应用、面向对象编程、以及弱引用table等。用step by step的方式一路学来,不禁为lua中table强大的功能所折服,目前领会到的table的强大功能有:
(1)table提供直接访问lua的任意数据类型,即在绝大多数应用中,无需在lua中编写搜索算法;
(2)设置table的元表和元方法,可以实现类似于C++中的操作符重载功能;
(3)将一个table作为__index元方法可以快速地实现单一继承功能;
(4)弱引用table机制可以非常方便地实现特定场合的垃圾回收,还可用它间接有效地实现“空间换时间”的机制;