LUA table学习笔记

function printT( ... )
     for i,v in ipairs(...) do
    print(i,v)
end
end

t1={}
t2={}
t3={}
table.insert(t1,"t1")
table.insert(t1,"t2")
table.insert(t1,1,"t3")
print "1 table.insert-----------"
--printT(t1)
print "2 table.concat-----------"
t4=table.concat( t1, ", ", 1, #t1)
--print (type(t4).."    "..t4)
print "3 table.move-----------"
--[[   http://www.2cto.com/kf/201602/489932.html
table.move (a1, f, e, t [,a2])
将表"a1"中从整数索引"f"到整数索引"e"之间(源区间)的元素
     复制到表"a2"中整数索引"t"及之后的位置(目标区间),
     表"a2"默认为"a1",目标区间与源区间可以重叠。
--]]
table.move(t1,1,2,1,t2)
--printT(t1)
print "-----------"
--printT(t2)
print "4 table.pack-----------"
--[[ table.pack(···)
     创建一个"table",并将参数作为元素以整数索引(1, 2, ...)插入"table"中。
     并将"n"这个域存储参数的总个数,返回所创建的"table"。]]
t4=table.pack(1,3,5)
printT(t4)

--[[ table.remove (list [, pos])
移除 list 中 pos 位置上的元素,并返回这个被移除的值。 当 pos 是在 1
到 #list 之间的整数时, 它向前移动元素 list[pos+1], list[pos+2], ···, list[#list]
 并删除元素 list[#list]; 索引 pos 可以是 #list + 1 ,或在 #list 为 0 时可以是 0 ;
  在这些情况下,函数删除元素 list[pos]。
pos 默认为 #list, 因此调用 table.remove(l) 将移除表 l 的最后一个元素。

]]
print "-----------"
table.remove(t4,1)
printT(t4)
print "5 table.pack-----------"
--[[
table.sort (list [, comp])

在表内从 list[1] 到 list[#list] 原地 对其间元素按指定次序排序。 如果提供了 comp ,
 它必须是一个可以接收两个列表内元素为参数的函数。
 当第一个元素需要排在第二个元素之前时,返回真 (因此 not comp(list[i+1],list[i]) 在排序结束后将为真)。
  如果没有提供 comp, 将使用标准 Lua 操作 < 作为替代品。
排序算法并不稳定; 即当两个元素次序相等时,它们在排序后的相对位置可能会改变。

使用函数"comp"排序表"list"中的元素。
     "comp"接收两个列表内元素作为参数,
     当第一个元素需要排在第二个元素之前时,返回"true",否则返回"false"。
     如果没有提供"comp",默认使用"<"(小于 操作符)比对元素。
]]
table.sort(t4,function (x1,x2 )
    return x1>x2
end)
printT(t4)
时间: 2024-10-06 00:16:23

LUA table学习笔记的相关文章

Lua JSONRPC学习笔记

JSON RPC JSON RPC 为利用json数据格式来执行远程调用方式, 作用同xmlrpc,不过与xmlrpc相比, jsonrpc更加轻量,json更加节省数据量,更加可读性高. 官网网站: http://www.json-rpc.org/ JSONRPC协议规范: http://www.json-rpc.org/wiki/specification lua实现的jsonrpc项目: https://github.com/craigmj/json4lua http://json.lua

lua本学习笔记功能

Lua本学习笔记功能 1.  函数返回 指定任务的主要功能是完成,在这种情况下,函数被用作调用语句.函数可以计算并返回值,在这种情况下,作为分配值表达式语句使用. 语法: funcationfunc_name(arguments-list) Statements-list end 调用函数的时候,假设參数列表为空,必须使用()表示是函数调用. Print(8*9,9/8) a = math.sin(3) +math.cos(10) print(os.date()) 上述规则有一个例外.当函数仅仅

Boostrap Table学习笔记

最近要对项目上的table进行调整,让表格能够支持更多的操作,于是接触到了boostrapTable这个插件.研究了一天,记录下学习的内容. Boostrap Table可以支持表的分页及动态显示表的列等等功能.个人的理解是这款插件从后台请求到数据后,再进行一些js的操作,将请求到的数据填充到单元格上,达到动态的操作表格的效果.和thymeleaf这些模版引擎不太一样.Boostrap Table是在页面加载完成后,去填充数据,而模版引擎在返回html时数据已经在页面上了. 先附上一些参考资料:

Bootstrap Table学习笔记

资料: 官网   2017.7.10 入门实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-

Lua学习笔记(七):迭代器与泛型for

1.迭代器与闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功调用的状态,也就是他知道来自于哪里和将要前往哪里.闭包提供的机制可以很容易实现这个任务.记住:闭包是一个内部函数,它可以访问一个或者多个外部函数的外部局部变量.每次闭包的成功调用后这些外部局部变量都保存他们的值(状态).当然如果要创建一个闭包必须要创建其外部局部变量.所以一个典型的闭包的结构包含

《lua程序设计(第二版)》学习笔记(二)

直接上代码 1: -- 第2章 类型与值 2: -- 动态类型的语言,每个值都携带自身类型信息 3: print("类型打印,每个值都携带自身类型"); 4: print(type("Hello world")); -- string 完全采用8位编码,字符可以具有任何数值编码,可以将任意二进制数据存储到字符串中 5: --[[ 6: string是不可变值,不能像C一样修改一个字符创中某个字符,而是应该 7: 创建一个新的字符串; 8: 和其他对象一样,都是自动内

Lua学习笔记(三):表的构造

构造器是创建和初始化表的表达式.表是Lua特有的功能强大的东西.最简单的构造函数是{},用来创建一个空表.可以直接初始化数组: 1 days = {"Sunday", "Monday", "Tuesday", "Wednesday", 2 "Thursday", "Friday", "Saturday"} Lua将“Sunday”初始化days[1](第一个元素索引为

《LUA游戏开发实践指南》学习笔记1

本文只做个人学习笔记! Lua脚本语言的优点:免费.小巧.快速和易移植. 游戏项目中的Lua,可以完成以下工作 编辑游戏用户界面(玩家和你的游戏进行交互的媒介) 定义.存储和管理游戏数据(Lua本人并没有直接访问外部数据库的能力,但可以使用C++组件) 管理游戏实时事件 创建和维护开发者有好的游戏存储和载入系统 编写游戏的人工智能(AI) 创建功能原型,可以之后用高性能语言移植 Lua入门 Lua控制台 lua脚本(扩展名为.lua的文本文本) 代码块(Chunk):单个命令或者一系列命令组成脚

lua学习笔记之函数

Lua学习笔记之函数 1.  函数的作用 函数主要完成指定的任务,这样的情况下函数作为调用语句使用,函数可以计算并返回值,这样的情况下函数作为赋值语句的表达式使用. 语法: funcationfunc_name(arguments-list) Statements-list end 调用函数的时候,如果参数列表为空,必须使用()表示是函数调用. Print(8*9,9/8) a = math.sin(3) +math.cos(10) print(os.date()) 上述规则有一个例外,当函数只