lua基础【三】唯一数据结构table表

--[[

 数据结构table对象(一种动态分配的对象)
 lua中的表操作,table类型实现了“关联数组的”。“关联数组是一种具有特殊索引方式的数组”
 可以通过下标或者字符串来索引它,table没有固定的大小,table是Lua仅有的数据结构,
 既然这么说,就表明table的意义很重大,也极为重要

 我们可以用table表示普通数组,字符表,集合记录,队列,也可以通过table
 表示,模块(module),包(package),对象object

  table的创建是通过uoge构造表达式完成的,最简单的构造表达式是{}

]]--

--创建一个table
tab={}

--循环添加条目
for i=1,10 do
    tab[i]=i
end

--获取table的长度
print(#tab)

for i=1,#tab do

 print(tab[i])
end

--单一添加条目(这两种添加条目的做法都是一样的,我更侧重于第一种方式)
tabs={}
tabs.name="hello"
tabs["name"]="world"
print (tabs.name)

t={color="red",x=3,3,4}

print(#t)--结果是2

print(t.color)  --red

--[[

关于lua的函数,function

]]--

--[[
lua中自定义类型和线程
]]--

--[[

lua表达式  应记住以下关系操作符

<

>

<=

>=

==

~=  --不等于

逻辑操作符:

and   or   not 

]]--

--[[
table构造式,构造式是用于创建和初始化table的表达式,这是lua特有的一种表达式,并且yeshilua
中最有用的,最通用的机制之一

最简单的构造式就是一个空构造式{},用于创建一个空的table,

例如:
]]--

days={"sunday","monday","tuesday","wednesday","Thursday","Firday","staturday"}

--会将days[1]初始化为sunday,days[2]初始化为monday
print(days[4])

--lua还提供了一种特殊的语法用于初始化记录风格的table

a={x=10,y=20}
--它等价于以下写法
a={}
a.x=10
a.y=20

--lua中删除一个table得条目,只需要将该条目置空即可

--[[
在构造式中还可以用分号代替逗号。通常会将分号用于分割构造式中不同的成分;
例如:
将列表部分与记录部分明显的分开

]]--

a15={x=10,y=45; "one","two","three"}

时间: 2025-01-13 11:16:12

lua基础【三】唯一数据结构table表的相关文章

第三章:IOS Table表视图委托协议和数据协议

表视图有两个重要的协议 UITableViewDataSource :数据源协议   方法 返回类型 说明 必须实现 tableView:cellForRowAtIndexPath: UITableViewCell* 为表视图单元格提供数据,该方法是必 须实现的方法 是 tableView:numberOfRowsInSection: NSInteger 返回某个节中的行数 是 tableView:titleForHeaderInSection: NSString 返回节头的标题 否 table

Lua之table(表)

Lua table(表) 使用表来统一表示Lua中的一切数据,是Lua区分于其他语言的一个特色.这个特色从最开始的Lua版本保持至今,很大的原因是为了在设计上保持简洁.Lua表分为数组和散列表部分,其中数组部分不像其他语言那样,从0开始作为第一个索引,而是从1开始.散列表部分可以存储任何其他不能存放在数组部分的数据,唯一的要求就是键值不能为nil.尽管内部实现上区分了这两个部分,但是对使用者而言却是透明的.使用Lua表,可以模拟出其他各种数据结构--数组.链表.树等. 虽然设计上简洁,并且对使用

Lua的Table表使用例子(便于使用查询)

一.table.insert() 1.1 1 local countries = {"China", "England", "Brazil"} 2 --尾插法(Pos不填,默认插入尾部) 3 table.insert(countries, "France") 4 --头插法(首部插入) 5 table.insert(countries, 1, "Australia") 6 7 dump(countries)

数据结构基础温故-1.线性表(上)

开篇:线性表是最简单也是在编程当中使用最多的一种数据结构.例如,英文字母表(A,B,C,D...,Z)就是一个线性表,表中的每一个英文字母都是一个数据元素:又如,成绩单也是一个线性表,表中的每一行是一个数据元素,每个数据元素又由学号.姓名.成绩等数据项组成.顺序表和链表作为线性表的两种重要的存在形式,它们是堆栈.队列.树.图等数据结构的实现基础. 一.线性表基础 1.1 线性表的基本定义 线性表:零个或多个数据元素的有限序列.线性表中的元素在位置上是有序的,类似于储户去银行排队取钱,人们依次排着

Lua基础(二)——表

表 a = { } b = { x = 1, ["hello, "] = "world!" } a.astring = "ni, hao!" a[1] = 100 a["a table"] = b function foo() end function bar() end a[foo] = bar --分别穷举表a和b for k, v in pairs(a) do print(k, "=>", v)

lua 数据以table表的形式存储

出处:http://blog.sina.com.cn/s/blog_991afe570101rkfh.html 感谢,原文作者的无私奉献! 实现思路: table表 ------> 转为字符串(这里利用json库)------->存储--------->读取 达成目的: 解决字符串拼接问题 用最简单办法将table表存入文件,方便游戏存档.游戏关卡等等 第一步:将table表转为json格式的字符串 导入头文件 --2.2.5的quick版本已经在框架载入时完成了json模块的初始化,所

Lua基础(转)

局部定义与代码块: 使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效. 代码块:一个控制结构.一个函数体.一个chunk(一个文件或文本串)(Lua把chunk当做函数处理) 这样,可以在chunk内部声明局部函数,该函数仅在chunk内可见,并且词法定界保证了包内其他函数可以调用此函数.  在chunk内部定义多个local function并且相互调用(或定义local递归调用函数)时,最好先声明,再定义. 应该尽可能的使用局部变量(使用关键词local声明的变

lua视频教程三套高清新

1. 下载地址 2. 某网校 Lua 经典教程 3. lua脚本语言零基础开发教程19课全 4. LUA完整视频+Cocos2d-x项目实战 1. 下载地址 https://www.cnblogs.com/coco56/p/11223189.html 在视频教程\Lua\lua视频三套高清新那里. 2. 某网校 Lua 经典教程 01第一课程安排 02第二课.HelloLua 03第三课.开始 04第四课.类型与值 05第五课.表达式 06第六课.语句 07第七课.语句 08第八课.函数 09第

Lua基础——赋值语句、表达式、流程控制

赋值语句 注释,用(--)来表示 定义,lua中没有定义(申明数据类型),它是通过赋值来确定其数据类型的. 赋值,是改变一个变量的值和改变表域的最基本的方法. a = "hello" .. "world" Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量.a, b = 10, 2*x <--> a=10; b=2*x 遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换