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"}
--[[
table相关
]]-- --获取表中的原书个数
str={"halou","nihao","zaima"}
print(table.getn(str)) --向表中插入元素
table.insert(str,4,"women") --从表中删除元素
for k, v in ipairs(str) do table.remove(str,k)
end str[1]="chiba"
for i=1,#str do
print(str[i])
end --lua语言极为相似C语言,我们能够对其biao得内部进行管理,假设表的
--内部被改变,则原表也会发生改变 str2={name="hehe",xuhao="2011",age=24 ; 24,23,25} print(table.getn(str2)) table.insert(str2,2,15) for k,v in ipairs(str2) do
print(v)
end --2号位置插入一个元素后,原来二号位置的元素会向后移动一个位置 --关于二维表,就是须要表示两个以上的字段。
a={name={"zhangsan","lishi","wangwu"},age={24,25,26}}
for k,v in ipairs(a.name) do
print(v)
end
lua基础【三】唯一数据结构table表的更多相关文章
- [lua]紫猫lua教程-命令宝典-L1-01-07. table表
L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...
- Lua 学习之基础篇四<Lua table(表)>
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...
- 关于 lua table表存储函数且运用
--table 是lua的一种数据结构用来帮助我们创建不同的数据类型.如:数组和字典--lua table 使用关联型数组,你可以用任意类型的值来做数组的索引,但这个值不能是nil--lua tabl ...
- Excel 将A表的基础数据拼接到B表中来-三种方法: ctrl+回车, VLOOKUP()函数,宏
A表 基础信息表 B表 业务信息表 将a表中的基础数据 拼接到B表的后面, 应用场景是: B表很多数据,很繁乱,名字不一定全, A表也是比较多的行,B表乱:比如有8行有李晨的,却只有3行是范仲淹的, ...
- Lua table(表)
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...
- hrbustoj 1545:基础数据结构——顺序表(2)(数据结构,顺序表的实现及基本操作,入门题)
基础数据结构——顺序表(2) Time Limit: 1000 MS Memory Limit: 10240 K Total Submit: 355(143 users) Total Accep ...
- lua table表
lua table表 语法结构 创建一个 table 直接使用 "{}" 即可 table1 = {} -- 赋值 table1["name"] = " ...
- Lua 基础
Lua 5.3 的中文手册, http://cloudwu.github.io/lua53doc 在线浏览 --第一部分 -- 两个横线开始单行的注释 --[[ 加上两个[和]表示 多行的注释. -- ...
- Lua基础
局部定义与代码块: 使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效. 代码块:一个控制结构.一个函数体.一个chunk(一个文件或文本串)(Lua把chunk当做函数处 ...
随机推荐
- 《c程序设计语言》读书笔记-4.2-扩充atof函数
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> ...
- java复习整理(六 异常处理)
一.异常简介 在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性. ...
- CSS清除浮动常用方法小结 CSS clear both {overflow:auto;zoom:1;}
常用的清除浮动的方法有以下三种: 此为未清除浮动源代码,运行代码无法查看到父级元素浅黄色背景 <!DOCTYPE html><html><head> <met ...
- android hook 框架 libinject 如何实现so注入
前面两篇 android hook 框架 libinject2 简介.编译.运行 android hook 框架 libinject2 如何实现so注入 实际运行并分析了 Android中的so注入( ...
- 如何在Android 或Linux 下,做Suspend /Resume 的Debug【转】
转自:http://blog.csdn.net/jacobywu/article/details/24735521 目录(?)[-] Question Answer 加boot 參數 no_conso ...
- Kotlin来了
kotlin优点(主要是代码简洁度) 1.避免空指针异常,其次在一个文件中java方法必须写在class里面,而kotlin则没要求 2.在同一个文件中,有class a则不允许在class外的方法( ...
- Java异常throws与throw的区别
throws关键字通常被应用在声明方法时,用来指定可能抛出的异常.多个异常可以使用逗号隔开.当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象.谁调用谁处理: 抛出异常throws: ...
- git的使用02
接下来我们要将文件交给仓库去托管 如何使用版本库
- MVC中AuthorizeAttribute用法并实现授权管理
1.创建一个类(用来检查用户是否登录和用户权限)代码如下 public class MemberCheckAttribute : AuthorizeAttribute { //AuthorizeAtt ...
- sql:将秒转化成时分秒格式
DECLARE @a int=20000 SELECT CONVERT(VARCHAR(10),@a/60)+'分'+CONVERT(VARCHAR(10),@a%60)+'秒' --333分20秒 ...