《Programming in Lua 3》读书笔记(九)
PartⅠ 已经看完了,然后进入了partⅡ阶段了。
Part Ⅱ 11
List = {}
function List.new()return { first = 0, last = -1}
end
function List.pushfirst(list,value)local first = list.first - 1list.first = firstlist[first] = value
end
function List.pushlast(list,value)local last = list.last + 1list.last = lastlist[last] = value
end
function List.popfirst (list)local first = list.firstif first > list.last then error("list is empty") endlocal value = list[first]list[first] = nillist.first = first + 1return value
end
function List.poplast(list)local last = list.lastif list.first > last then error("list is empty") endlocal value = list[last]list[last] = nillist.last = last - 1return value
end
可以看到pop、push操作都是对table的键进行加减-赋值操作而实现的,要注意的是键的增减和判断是否为空。
function insert (bag,element)bag[element] = (bag[element] or 0 ) +1
end
function remove (bag,element)local count = bag[element]bag[element] = (count and count>1) and count - 1 or nil
end
e.g.
local t = {}
for line in io.lines() dot[#t + 1] = line .. "\n" --table 的每个键对应一个string值
end
local s = table.concat(t) --将table中所有的string值连在一起返回
e.g.
local t = {}
for line in io.lines() dot[#t + 1] = line --table 的每个键对应一个string值
end
local s = table.concat(t,"\n") --第二个参数表示在每两个string值间插入的值
转载于:https://www.cnblogs.com/zhong-dev/p/4044577.html
《Programming in Lua 3》读书笔记(九)相关推荐
- OREILLY Programming .NET 3.5 读书笔记之一
OREILLY Programming .NET 3.5 读书笔记之一 <Programming .NET 3.5>是OREILLY 2008.08出版的.NET 3.5 开发书籍,作者是 ...
- c语言指针读书笔记,《C与指针》读书笔记九
原标题:<C与指针>读书笔记九 指针之所以在C语言中占据很大分量,是因为指针有很大的灵活性.指针以结构体结合确实为程序的编写提供了一把锋利无比的宝剑.在有些资料上介绍结构体是多种数据集合, ...
- 《Programming in Scala》读书笔记(持续更新) - passover的个人空间 - DOIT博客 - 多易网...
<Programming in Scala>读书笔记(持续更新) - passover的个人空间 - DOIT博客 - 多易网 <Programming in Scala>读书 ...
- 3D游戏设计读书笔记九
3D游戏设计读书笔记九 本次作业五选一,我选择制作血条预制设计,要求如下: 分别使用 IMGUI 和 UGUI 实现 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机 分析两种实现 ...
- TCPIP详解Protocol 读书笔记(九) IP选路
TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 文章目录 TCP/IP详解:Protocol 读书笔记(九) Chapter9 IP选路 IP选路原理简单回顾 初始化路 ...
- Head First设计模式读书笔记九 第十章 状态模式
过去的笔记链接 https://blog.csdn.net/u011109881/article/details/60158137 状态模式实例 用Java设计糖果机吧 大致流程: 上图中,有四种状态 ...
- C专家编程--读书笔记九 再论数组
第九章 一.知识点 1.所有作为函数参数的数组名总是可以通过编译器转换成指针. 然而,数组和指针在编译器处理时是不同的,在运行时的表示形式也是不一样的,并可能产生不同的代码.对编译器而言,一个数组就是 ...
- 《深入理解计算机系统》读书笔记九:寄存器结构
- 读书笔记九:TCP/IP详解之广播和多播,IGMP协议
单播,多播,广播的介绍 单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是具体网 ...
- 《Go语言程序设计》读书笔记 (九) 命令工具集
Go语言的工具箱集合了一系列的功能的命令集.它可以看作是一个包管理器(类似于Linux中的apt和rpm工具),用于完成包的查询.计算的包依赖关系.从远程版本控制系统和下载它们等任务.它也是一个构建系 ...
最新文章
- DevOps:软件架构师行动指南3.1 概述
- Bossy智能便贴:让工作更有效率
- python快速入门答案-Python快速入门(一)
- android view强制重绘_android view 相关方法 layout draw 布局 重绘 | 学步园
- nginx负载均衡简单配置
- IntelliJ idea 中使用Git
- pojo类中list存储其他字段_List集合流处理类型小结
- 小程序新闻列表页面布局代码_论坛小程序·“我的”页面布局
- 一本通 1064:奥运奖牌计数--AC
- python unique函数_每30秒学会一个Python小技巧,GitHub星数4600+
- android message to iphone,这款应用可以将苹果的iMessage带到安卓系统
- putExtra方法
- gre填空高频词汇整理
- IOS学习之Segue
- 西门子低代码项目团队协作方法
- php x forwarded for,代码审计树洞X_FORWARDED_FOR注入
- spacy依存分析模型
- 银行贷款与网上借贷比较
- 关于Mybatisplus查询到字段无法映射的问题
- 《增强现实:原理、算法与应用》读书笔记(7)稠密深度估计