Lua程序设计随笔(3)
符号【=】用于对左边的参数赋值,在等号右边的元素回先求职,然后赋值
所以
a[i],a[j]=a[j],a[i]
是可以直接交换的;
另外,【=】可以给多个元素赋值
如
a,b,c=1,2;
a,b=1,2,3;
按照顺序一一对应,但是如果是左边轮空的一个元素,就是赋值为nil;右边轮空的就会被无视
局部变量【local】类似于js中的【let】【var】不做多描述,
但是在交互模式中,
需要界定一个作用域,因为交互模式输入的每一行内容自成一个程序块;
用【do-end】界定
Lua的控制结构【if then else】【while】与其他语言类似
【repeat until】类似于【do while】
【for】分为两种,数字型的【for】语法如下
for i=x,y,z do
<执行体>
end
其中,x和y分别表示初值和终值,z表示每次循环增涨的幅度,可以不指定,不指定的话默认为1
如果y的值为math.huge,那么则是一个没上限的循环
泛型【for】实际上是一个借用各种迭代器
用于数组的迭代器ipairs
for i,v in ipairs(a) do
print(v);
end
用于table的迭代器pairs
for k in pairs(a) do
print(k);
end
用于字符串的迭代器string.gmatch
for k in string.gmatch(a) do
print(k);
end
甚至可以自己编写迭代器
Lua程序设计随笔(3)相关推荐
- Lua程序设计随笔(5)
深入函数 在Lua中,函数是作为第一类的对待的,即,可以存储到变量,可以作为返回值,可以作为函数的形参 事实上,在Lua中,函数都是匿名函数,所谓的函数名其实是持有这个函数的变量, 如 functio ...
- 《lua程序设计(第二版)》学习笔记(五)-- 函数基础
-- 第 5 章 函数-- 一种对语句和表达式进行抽象的主要机制 print(os.date()); -- 打印日期 Sun Apr 20 12:44:46 2014 -- 一看到sun,感慨广州没有 ...
- lua transliterate实现(lua程序设计10.6练习10.3题)
lua transliterate实现(lua程序设计10.6练习10.3题) local function transliterate(s,t)return (string.gsub(s," ...
- lua split实现(lua程序设计10.6练习10.1题)
lua split实现(lua程序设计10.6练习10.1题) local function split(s,sp)local t = {}local last = 1local irepeati = ...
- 用空代理实现account(lua程序设计21.7练习21.4题)
用空代理实现account(lua程序设计21.7练习21.4题) function createAccount()local proxy = {}local mt = {balance = 0}mt ...
- 使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题)
使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题) local data = {} DualStack = {} function DualStack:new(o)o = o or ...
- lua实现继承(lua程序设计21.7 练习21.2题)
lua实现继承(lua程序设计21.7 练习21.2题) StackQueue = Stack:new() function StackQueue:insertBottom(v)table.inser ...
- lua实现stack(lua程序设计21.7 练习21.1题)
lua实现stack(lua程序设计21.7 练习21.1题) Stack = {} function Stack:new(o)o = o or {}self.__index = selfsetmet ...
- 【Aegisub相关】Lua程序设计 第4版(中文翻译)
[Aegisub相关]Lua程序设计 第4版(中文翻译) 链接:https://pan.baidu.com/s/1XiqiT9lLvnfGJfyrWQ87aA 提取码:ycxt 上述PDF原始来源:h ...
最新文章
- Poptset学员之牛奶咖啡糖
- tomcat配置与应用(2)
- Windows平台:Nginx+Tornado部署Flask
- 教务处管理系统c语言编程,基于C语言的教务管理系统的设计
- Qt for ios 在 xcode 中编译(便于调试)
- 在线学习在爱奇艺信息流推荐业务中的探索与实践
- javaee 中文帮助文档_从中游公司跳槽阿里必知:K8s、Nginx、Redis、微服务面试文档...
- 第七篇:Spring Boot整合Thymeleaf_入门试炼03
- php数据库find(),db_find()
- 解决ping时出现?的问题
- 直线扫描转换算法DDA算法(数值微分算法)
- 处于停机等非正常状态_汽轮机运行最重要的启动与停机阶段,你得了解这些实际经验...
- 汇编 - 实验 - 计算X+(Y-Z)=W
- autoreconf: command not found
- 魔兽争霸lostTemple地图
- kex_exchange_identification: Connection closed by remote host
- STM32系列(HAL库)——F103C8T6点亮1.44寸TFT-LCD彩屏
- [Python] wxPython 基本控件 (转)
- 毕业一年有感——人活着的意义是什么?
- windows下mysql-5.7.30-winx64解压安装步骤