写点什么

Lua-Table

作者:Changing Lin
  • 2021 年 11 月 21 日
  • 本文字数:872 字

    阅读完需:约 3 分钟

1.数组

  • 数组,使用一个变量名,存储一系列的值,lua 中使用 table 来实现

  • table 是一个一系列元素的集合,使用大括号进行表示,其中的元素之间以逗号分隔

myTable = {"ab", "bc", "hello", "besmart"}
复制代码
  • 注意:table 为可变长度

  • 注意:可以通过 table 名+数组下标的方式访问元素,如:myTable[1],第一个元素的下标是 1


2.table

  • table 中可以包括任意类型的数据,如:number、string、function

myTable = {"xyz", 168, ",..a", 3.1415}
复制代码
  • table 中可以是 function

myTable = {    function() return 123 end,    function() print("abc") end,    function(a,b) return a+b end,    function() print("种植自己的树") end,}myTable[1]()myTable[2]()myTable[3]()myTable[4]()
复制代码

3.table 下标

  • 每个元素的下标都是自动从 1 排列的,下标可直接在声明时进行指定

myTable = {1,2,3}
myTable = { [1] = 1, [2] = 2, [3] = 3, [4] = 10,}
复制代码
  • 下标可以是 string

myTable = {    ["man"] = 5,    woman = 8,    human = 6,}
-- 如何访问数组成员print(myTable["man"])print(myTable.woman)
复制代码

4.table 编辑

local myTable = {1, 2, 3, "besmart" }print(table.concat(myTable)) -- 123besmartprint(table.concat(myTable, "|")) -- 1|2|3|besmart

local myTable = {1, 8} --myTable[1] = 1,myTable[2] = 8table.insert(myTable, 1, 3) --在表索引为1处插入3print(myTable[1], myTable[2], myTable[3])table.insert(myTable, 10) --在表的最后插入10print(myTable[1], myTable[2], myTable[3], myTable[4])
-->打印的结果:--3 1 8--3 1 8 10

local myTable = { 1, 2, 3, 4}print(table.remove(myTable, 1)) --删除速索引为1的元素print(myTable[1], myTable[2], myTable[3], myTable[4])
print(table.remove(myTable)) --删除最后一个元素print(myTable[1], myTable[2], myTable[3], myTable[4])
-->打印的结果:--1--2 3 4 nil--4--2 3 nil nil
复制代码

5.总结:

学习 lua 中数组变量声明方法,元素类型、下标,插入、删除、连接

发布于: 2 小时前阅读数: 5
用户头像

Changing Lin

关注

获得机遇的手段远超于固有常规之上~ 2020.04.29 加入

我能做的,就是调整好自己的精神状态,以最佳的面貌去面对那些未曾经历过得事情,对生活充满热情和希望。

评论

发布
暂无评论
Lua-Table