当前位置: 首页 > 教程 > Lua >

Lua 数组

精华
小牛编辑
106浏览
2023-03-14

数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。

Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。


一维数组

一维数组是最简单的数组,其逻辑结构是线性表。一维数组可以用for循环出数组中的元素,如下实例:

实例

array = { "Lua" , "Tutorial" }

for i = 0 , 2 do
    print (array [i ] )
end

以上代码执行输出结果为:

nil
Lua
Tutorial

正如你所看到的,我们可以使用整数索引来访问数组元素,如果指定的索引没有值则返回 nil

在 Lua 索引值是以 1 为起始,但你也可以指定 0 开始。

除此外我们还可以以负数为数组索引值:

实例

array = { }

for i = - 2 , 2 do
   array [i ] = i * 2
end

for i = - 2 , 2 do
    print (array [i ] )
end

以上代码执行输出结果为:

-4
-2
0
2
4

多维数组

多维数组即数组中包含数组或一维数组的索引键对应一个数组。

以下是一个三行三列的阵列多维数组:

实例

-- 初始化数组
array = { }
for i = 1 , 3 do
   array [i ] = { }
      for j = 1 , 3 do
         array [i ] [j ] = i *j
      end
end

-- 访问数组
for i = 1 , 3 do
    for j = 1 , 3 do
      print (array [i ] [j ] )
    end
end

以上代码执行输出结果为:

1
2
3
2
4
6
3
6
9

不同索引键的三行三列阵列多维数组:

实例

-- 初始化数组
array = { }
maxRows = 3
maxColumns = 3
for row = 1 ,maxRows do
    for col = 1 ,maxColumns do
      array [row *maxColumns +col ] = row *col
    end
end

-- 访问数组
for row = 1 ,maxRows do
    for col = 1 ,maxColumns do
      print (array [row *maxColumns +col ] )
    end
end

以上代码执行输出结果为:

1
2
3
2
4
6
3
6
9

正如你所看到的,以上的实例中,数组设定了指定的索引值,这样可以避免出现 nil 值,有利于节省内存空间。

最后更新:

类似资料

  • 数组,就是相同数据类型的元素按一定顺序排列的集合,可以是一维数组和多维数组。 Lua 数组的索引键值可以使用整数表示,数组的大小不是固定的。 一维数组 一维数组是最简单的数组,其逻辑结构是线性表。一维数组可以用for循环出数组中的元素,如下实例: array = {"Lua", "Tutorial"} for i= 0, 2 do print(array[i]) end 以上代码执行输

  • 主要内容:实例,实例,多返回值,实例,可变参数,实例,实例,实例,实例,实例在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。 Lua 函数主要有两种用途: 1.完成指定的任务,这种情况下函数作为调用语句使用; 2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。 函数定义 Lua 编程语言函数定义

  • 在 Lua 中,函数是一种对语句和表达式进行抽象的主要机制。函数既可以完成某项特定的任务,也可以只做一些计算并返回结果。在第一种情况中,一句函数调用被视为一条语句;而在第二种情况中,则将其视为一句表达式。 示例代码: print("hello world!") -- 用 print() 函数输出 hello world! local m = math.max(1, 5) --

  • 在Lua中,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print()函数可以将传入的参数打印在控制台上。 Lua 函数主要有两种用途: 1.完成指定的任务,这种情况下函数作为调用语句使用; 2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。 函数定义 Lua 编程语言函数定义

  • 主要内容:实例,nil(空),boolean(布尔),实例,number(数字),实例,string(字符串),实例,实例,table(表),实例,实例,实例,实例,function(函数),实例,实例,thread(线程),userdata(自定义类型)Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。 Lua 中有 8 个基本类型分别为:nil、boolean、number、string、userdata、function、thread

  • 本文向大家介绍调用Lua函数,包括了调用Lua函数的使用技巧和注意事项,需要的朋友参考一下 示例 在上面的示例中,我们正在执行以下操作: 如第一个示例所示,创建和设置Lua VM 从全局Lua表获取并将Lua函数推入虚拟堆栈 将字符串"Hello C API"作为输入参数推入虚拟堆栈 指示VM使用已在堆栈中的一个参数调用函数 关闭并清理 注意: 简而言之,这会lua_call()从堆栈中弹出函数及