use*_*306 1 arrays oop lua class lua-table
我是一般编程的初学者,我一直在尝试一些不同的语言.在Lua中,有些表似乎就像超级列表(数组,字典,列表一样)但在Lua中可以这样做:
player = { health = 100, attack = 50, mana = 54 }
print(player.health)
Run Code Online (Sandbox Code Playgroud)
它将返回100.但在其他编程语言中,您需要创建一个类来获得相同的输出.但根据我的理解,Lua有课程和桌子吗?但表似乎非常相似,所以它们是一样的吗?如果没有,是什么让它们与众不同,使用它们的利弊是什么?
但根据我的理解,Lua有课程和桌子吗?
不,不是的.
Lua(忽略C API的东西)只有一个复杂的数据结构:表格.
您可以使用表创建一个类.您可以使用表格创建各种各样的东西.Lua表非常灵活,正是因为它们是Lua 唯一的数据结构.
在Lua中,基础级别的每个复杂事物都是一个表格.或者,如果它来自C API,则为userdata.
类基本上是用于创建对象的原型.您声明一个类中包含X,Y和Z成员,然后您创建该类类型的对象,其中包含X,Y和Z成员.
您可以创建模仿类行为的Lua表.但Lua中没有语言结构正式类似于一个类.