摘要: 1 --常见字符串功能 2 local function Test1() 3 --大小写 4 assert("AA" == string.upper("aa")) 5 assert("aa" == string.lower("AA")) 6 7 --字符串长度 8 assert(2 == strin 阅读全文
posted @ 2021-11-13 21:06 yanghui01 阅读(119) 评论(0) 推荐(0)
摘要: 函数参照c#的StringBuilder 1 require "utf8Ext" 2 3 StringBuilder = StringBuilder or {} 4 5 function StringBuilder.new() 6 local inst = {} 7 8 local charBuff 阅读全文
posted @ 2021-11-12 01:03 yanghui01 阅读(124) 评论(0) 推荐(0)
摘要: 【关于unicode和utf-8】 # unicode字符集,包含了全世界的字符,然而它只是规定了字符的二进制编码,并没有规定二级制编码是如何存储的。utf-8就是unicode的一个实现方式,就是怎么存储和读取这个unicode二进制编码。 就像一张jpg图片,我们可以选择直接存放在硬盘上,也可以 阅读全文
posted @ 2021-11-12 00:58 yanghui01 阅读(1555) 评论(0) 推荐(0)
摘要: 【参考】 # 实现的很简洁,值得参考 数据结构和算法(Java) - 双端队列(Array) - 知乎 (zhihu.com) local arrayext = require("arrayext") local Deque = {} Deque.__cname = "util.Deque" Deq 阅读全文
posted @ 2021-11-12 00:37 yanghui01 阅读(49) 评论(0) 推荐(0)
摘要: # 链表节点 local Node = {} Node.__cname = "util.LinkedList.Node" Node.__index = Node function Node.new(list, value) local obj = {} setmetatable(obj, Node) 阅读全文
posted @ 2021-11-12 00:35 yanghui01 阅读(50) 评论(0) 推荐(0)
摘要: # 使用循环队列的方式 local arrayext = require("arrayext") local Queue = {} Queue.__cname = "util.Queue" Queue.__index = Queue local ClearTypeEnum = { Reset = n 阅读全文
posted @ 2021-11-12 00:29 yanghui01 阅读(55) 评论(0) 推荐(0)
摘要: local Stack = {} Stack.__cname = "util.Stack" Stack.__index = Stack function Stack.new2(src) assert("util.Stack" == src.__cname, "InvalidArgument: not 阅读全文
posted @ 2021-11-12 00:28 yanghui01 阅读(44) 评论(0) 推荐(0)
摘要: # 在table的基础山增加了更直观的列表操作函数,同时使用了_count来跟踪元素数量 local list = {} list.__cname = "util.list" local null = {} list.null = null list.__newindex = function(se 阅读全文
posted @ 2021-11-12 00:26 yanghui01 阅读(73) 评论(0) 推荐(0)
摘要: 把table当做函数一样调用时触发 local obj = {} local mt = { __call = function(tb, target) print("__call") end } setmetatable(obj, mt) obj(1) # 可以实现ClassName()直接触发对象 阅读全文
posted @ 2021-11-09 10:45 yanghui01 阅读(221) 评论(0) 推荐(0)
摘要: # for in遍历, 跟在in后面是3个参数:iteratorFunc, iteratorObj, initArg 第1次时,会用iteratorObj和initArg调用iteratorFunc, iteratorFunc(iteratorObj, initArg) 第2次时,会用iterato 阅读全文
posted @ 2021-11-06 17:36 yanghui01 阅读(1254) 评论(0) 推荐(0)