当前位置: 首页 > wzjs >正文

网站建设首选公司口碑好的购物网站建设

网站建设首选公司,口碑好的购物网站建设,wordpress资源,c 做的网站又哪些Lua 中的 table 类型详解 table 是 Lua 中唯一的数据结构机制,它实现了关联数组的功能,可以用来表示普通数组、序列、符号表、集合、记录、图、树等几乎所有数据结构。 基本特性 table 是 Lua 中唯一的数据结构类型可以包含任意类型的值(n…

Lua 中的 table 类型详解

table 是 Lua 中唯一的数据结构机制,它实现了关联数组的功能,可以用来表示普通数组、序列、符号表、集合、记录、图、树等几乎所有数据结构。

基本特性

  1. table 是 Lua 中唯一的数据结构类型
  2. 可以包含任意类型的值(nil 除外)
  3. 可以通过任意类型的值(nil 除外)作为键
  4. 大小不固定,可以动态增长

创建 table

-- 创建一个空表
local t1 = {}-- 创建并初始化数组部分
local t2 = {10, 20, 30}  -- 相当于 {[1]=10, [2]=20, [3]=30}-- 创建并初始化键值对
local t3 = {name="Lua", version="5.4"}

访问 table 元素

local t = {name="Lua", age=28}-- 点语法访问
print(t.name)  -- 输出 "Lua"-- 索引语法访问
print(t["name"])  -- 输出 "Lua"-- 数组部分访问
local arr = {10, 20, 30}
print(arr[1])  -- 输出 10 (注意 Lua 数组索引默认从1开始)

修改 table

local t = {}-- 添加/修改元素
t["key"] = "value"
t.key2 = "value2"
t[1] = "first element"-- 删除元素
t.key = nil

遍历 table

local t = {a=1, b=2, c=3}-- pairs 遍历所有键值对
for k, v in pairs(t) doprint(k, v)
end-- ipairs 遍历数组部分(从1开始的连续整数索引)
local arr = {10, 20, 30}
for i, v in ipairs(arr) doprint(i, v)
end

常用 table 操作

Lua 提供了 table 标准库来处理 table:

local t = {3, 1, 4, 2}-- 插入元素
table.insert(t, 5)       -- 在末尾插入
table.insert(t, 2, 1.5)  -- 在位置2插入-- 移除元素
table.remove(t, 3)       -- 移除位置3的元素-- 排序
table.sort(t)            -- 升序排序
table.sort(t, function(a, b) return a > b end)  -- 降序排序-- 连接
local s = table.concat(t, ", ")  -- 用", "连接所有元素

多维 table

-- 创建二维数组
local matrix = {{1, 2, 3},{4, 5, 6},{7, 8, 9}
}print(matrix[2][3])  -- 输出 6-- 创建混合结构
local person = {name = "Alice",age = 25,hobbies = {"reading", "swimming", "coding"},address = {city = "Beijing",street = "Main St"}
}

元表 (Metatable)

元表可以改变 table 的行为:

local t1 = {a = 1}
local t2 = {b = 2}-- 设置元表
local mt = {__add = function(t1, t2)local result = {}for k, v in pairs(t1) do result[k] = v endfor k, v in pairs(t2) do result[k] = v endreturn resultend
}setmetatable(t1, mt)
setmetatable(t2, mt)local t3 = t1 + t2  -- 使用元方法 __add
print(t3.a, t3.b)   -- 输出 1, 2

注意事项

  1. Lua 的 table 默认使用 1 作为数组的起始索引
  2. table 是引用类型,赋值和传参都是传递引用
  3. 使用 # 运算符可以获取数组部分的长度(连续整数索引部分)
  4. nil 值会中断数组部分,# 可能不会返回预期结果

table 是 Lua 中最重要、最灵活的数据结构,几乎所有的 Lua 程序都会大量使用 table。

http://www.dtcms.com/wzjs/612818.html

相关文章:

  • 某些网站dns解析失败装潢公司网站模板
  • 江苏网站建设网站流量统计查询
  • 网站左悬浮代码wordpress商城主体
  • 网站模板首页什么是网络营销?
  • 最新网站技术墨刀做网站上下滑动的交互
  • 资源网站公司简介20 50字
  • 智慧团建网站登录密码成都温江网站建设
  • 网站建设案例查询wordpress注册输入密码
  • 学校网站推广北京朝阳网站制作
  • 书法网站建站目标html网站运行时间代码
  • 贵阳建筑公司网站建设wordpress 多标签筛选
  • 百度移动网站排名中国深圳航空公司官方网站
  • 网站建设站建设好吗全球华设计大奖
  • 阿里云简单网站建设中国企业500强公司排名
  • 网站怎么换服务器宿豫建设局网站
  • 网站开发 公司 深圳网页代理网站
  • 精品网站建设费用 c磐石网络福田庆三价格
  • 石河子网站建设wordpress设置中英版
  • 企业网站必须做可信认证吗淘宝seo是什么意思
  • 网站建设属于会计哪个科目网站的创新点
  • 传奇怎么做网站阿里云外贸建站
  • 建设行政主管部门官方网站wordpress英文版改成中文字体
  • 企业网站的功能网站域名能迁移吗
  • 网站开发过程可分为网站建设包括哪些知识
  • 景安网站备案查询flash网站建设
  • 网站开发申请报告某企业网站网页设计模板
  • django网站开发视频教程下载做贸易的都有什么网站
  • 代发货网站建设云开发技术
  • 怎么利用源码做网站网站空间数据丢失
  • 邯郸做外卖网站的公司公司手机版网站模板