符号【=】用于对左边的参数赋值,在等号右边的元素回先求职,然后赋值

所以

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)相关推荐

  1. Lua程序设计随笔(5)

    深入函数 在Lua中,函数是作为第一类的对待的,即,可以存储到变量,可以作为返回值,可以作为函数的形参 事实上,在Lua中,函数都是匿名函数,所谓的函数名其实是持有这个函数的变量, 如 functio ...

  2. 《lua程序设计(第二版)》学习笔记(五)-- 函数基础

    -- 第 5 章 函数-- 一种对语句和表达式进行抽象的主要机制 print(os.date()); -- 打印日期 Sun Apr 20 12:44:46 2014 -- 一看到sun,感慨广州没有 ...

  3. lua transliterate实现(lua程序设计10.6练习10.3题)

    lua transliterate实现(lua程序设计10.6练习10.3题) local function transliterate(s,t)return (string.gsub(s," ...

  4. 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 = ...

  5. 用空代理实现account(lua程序设计21.7练习21.4题)

    用空代理实现account(lua程序设计21.7练习21.4题) function createAccount()local proxy = {}local mt = {balance = 0}mt ...

  6. 使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题)

    使用对偶表示重新实现Stack(lua程序设计21.7练习21.3题) local data = {} DualStack = {} function DualStack:new(o)o = o or ...

  7. lua实现继承(lua程序设计21.7 练习21.2题)

    lua实现继承(lua程序设计21.7 练习21.2题) StackQueue = Stack:new() function StackQueue:insertBottom(v)table.inser ...

  8. 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 ...

  9. 【Aegisub相关】Lua程序设计 第4版(中文翻译)

    [Aegisub相关]Lua程序设计 第4版(中文翻译) 链接:https://pan.baidu.com/s/1XiqiT9lLvnfGJfyrWQ87aA 提取码:ycxt 上述PDF原始来源:h ...

最新文章

  1. Poptset学员之牛奶咖啡糖
  2. tomcat配置与应用(2)
  3. Windows平台:Nginx+Tornado部署Flask
  4. 教务处管理系统c语言编程,基于C语言的教务管理系统的设计
  5. Qt for ios 在 xcode 中编译(便于调试)
  6. 在线学习在爱奇艺信息流推荐业务中的探索与实践
  7. javaee 中文帮助文档_从中游公司跳槽阿里必知:K8s、Nginx、Redis、微服务面试文档...
  8. 第七篇:Spring Boot整合Thymeleaf_入门试炼03
  9. php数据库find(),db_find()
  10. 解决ping时出现?的问题
  11. 直线扫描转换算法DDA算法(数值微分算法)
  12. 处于停机等非正常状态_汽轮机运行最重要的启动与停机阶段,你得了解这些实际经验...
  13. 汇编 - 实验 - 计算X+(Y-Z)=W
  14. autoreconf: command not found
  15. 魔兽争霸lostTemple地图
  16. kex_exchange_identification: Connection closed by remote host
  17. STM32系列(HAL库)——F103C8T6点亮1.44寸TFT-LCD彩屏
  18. [Python] wxPython 基本控件 (转)
  19. 毕业一年有感——人活着的意义是什么?
  20. windows下mysql-5.7.30-winx64解压安装步骤

热门文章

  1. 现代交换技术学习笔记
  2. C/C++中宏概念理解
  3. MIPI入门——D-PHY介绍(一)
  4. 微信小程序开发-微信支付之免密支付(自动扣费)一 小程序+java接口
  5. SQL注入点判断及万能密码
  6. 游戏开发设计模式:命令模式
  7. 日薪行-大龄程序员的绝对优势与绝对劣势-反观01
  8. 图像mnf正变换_PCA和MNF变换
  9. SAP中销售订单计划行类别中请求/装配对物料需求计划的影响测试
  10. python下载酷狗音乐源码