Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Lua表和类之间有什么区别?_Arrays_Class_Oop_Lua_Lua Table - Fatal编程技术网

Arrays Lua表和类之间有什么区别?

Arrays Lua表和类之间有什么区别?,arrays,class,oop,lua,lua-table,Arrays,Class,Oop,Lua,Lua Table,一般来说,我是编程新手,我一直在尝试几种不同的语言。在Lua中,有一些表看起来像超级列表(数组、字典、列表合一),但在Lua中可以做到这一点: player = { health = 100, attack = 50, mana = 54 } print(player.health) 它将返回100。但是在其他编程语言中,您需要创建一个类来获得相同的输出。但据我所知,Lua既有类也有表?但是桌子的行为似乎非常相似,那么它们是一样的吗?如果没有,是什么使它们不同,使用它们的利弊是什么 但据我所知

一般来说,我是编程新手,我一直在尝试几种不同的语言。在Lua中,有一些表看起来像超级列表(数组、字典、列表合一),但在Lua中可以做到这一点:

player = { health = 100, attack = 50, mana = 54 }
print(player.health)
它将返回100。但是在其他编程语言中,您需要创建一个类来获得相同的输出。但据我所知,Lua既有类也有表?但是桌子的行为似乎非常相似,那么它们是一样的吗?如果没有,是什么使它们不同,使用它们的利弊是什么

但据我所知,Lua既有类也有表

不,没有

Lua(忽略C API的东西)正好有一个复杂的数据结构:表

可以使用表创建类。您可以使用表创建各种各样的内容。Lua表非常灵活,正是因为它们是Lua唯一的数据结构

在Lua中,每一个复杂的事物在其基础级别上都是一个表。或者,如果它来自C API,则为userdata

类基本上是创建对象的原型。声明一个类中有X、Y和Z成员,然后创建一个该类类型的对象,该对象中有X、Y和Z成员

您可以创建模拟类行为的Lua表。但是在Lua中没有一种语言构造形式上像类

但据我所知,Lua既有类也有表

不,没有

Lua(忽略C API的东西)正好有一个复杂的数据结构:表

可以使用表创建类。您可以使用表创建各种各样的内容。Lua表非常灵活,正是因为它们是Lua唯一的数据结构

在Lua中,每一个复杂的事物在其基础级别上都是一个表。或者,如果它来自C API,则为userdata

类基本上是创建对象的原型。声明一个类中有X、Y和Z成员,然后创建一个该类类型的对象,该对象中有X、Y和Z成员


您可以创建模拟类行为的Lua表。但是在Lua中没有形式上类似于类的语言构造。

Lua没有类,只有表和元表。Lua使用prototype实现OOP

Lua没有类,只有表和metatable。Lua使用prototype来实现OOP

我想您可能会感到困惑,因为在其他语言中,
object.attribute
通常是访问对象属性的方式


无论如何,由于Lua没有类,所以点可以用来访问表的字段和
表。字段
的工作原理与编写
表[“字段”]
的工作原理完全相同。我想你会感到困惑,因为
对象.attribute
在其他语言中通常是访问对象属性的方式


无论如何,由于Lua没有类,所以点可以用来访问表的字段和
table.field
的工作原理与写入
table[“field”]

不。在我看来,C结构或JavaScript表以及几乎所有其他使用
进行哈希/表寻址或提供语法糖类的语言的工作原理都完全相同。Lua没有类。有很多方法可以用元表来模拟它们,但没有内置任何内容。Lua的语法允许您根据文档化的规则使用隐含的整数键从字段列表构造表。No。在我看来,C结构或JavaScript表以及几乎所有其他使用
进行哈希/表寻址或提供语法糖类的语言的工作原理都是一样的。Lua没有类。有很多方法可以用元表来模拟它们,但没有内置任何内容。Lua的语法允许您根据文档化的规则使用隐含的整数键从字段列表构造表。