Lua学习第二课_初探lua和lua语法
1、为什么使用Lua?
这个问题很多大牛前辈都回答过它的用处,现实游戏开发情况也可以证明它的广泛使用。《Lua 为什么在游戏编程领域被广泛运用》,开源社区《为什么我选择 Lua ?》等等,都充分肯定了Lua的强大及其前景,免费小巧快速易移植,更重要的是其易扩展性使得Lua非常适合游戏开发,大话西游2、 魔兽世界Wow插件、剑侠情缘3等等都是用Lua语言。不过不用担心,强大的Lua却是比较容易学习上手,可深入讲的东西并不多,市面专门讲Lua的中文书籍也很少。《Program in Lua》、译本《Lua游戏开发实践指南》等都是很经典的书。
其实我们说lua一种脚本语言,函数库不如C++强,是以C++作为寄主的语言,单独用也行。所以在游戏开发中适合用它。卡牌手游类型的游戏《三国杀》、《英雄杀》也是用lua编译的。lua的目标是成为一个很容易嵌入其他语言中使用的语言。很多的应用程序使用lua做为自己的嵌入式脚本语言,以此来实现可扩展性、可配置性。这其中包括了魔兽世界、博德之门、愤怒的小鸟、VOCALOID3 等。
2、Lua有什么程序控制语句?
条件控制:if 条件 then … elseif 条件 then … else … end
While循环:while 条件 do … end
Repeat循环:repeat … until 条件
For循环:for 变量 = 初值,终点值,步进 do … end
For循环:for 变量1,变量2,… ,变量N in表或枚举函数 do … end
注意一下,for的循环变量总是只作用于for的局部变量,你也可以省略步进值,这时候,for循环会使用1作为步进值。
你可以用break来中止一个循环。
3、Lua有哪些关键字?
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
4、Lua的语句块有哪些?
lua的语句块和C语言对比的主要区别在于,C、c++用”{“和”}”括起来,lua中用do和end括起来。如:do print(“Hello”) end。
5、Lua的数值运算有哪些?
lua和c语言一样,支持+,-,*,/等运算符,lua还多了一个特殊的“^”,表示指数乘方运算,如2^3结果为8。
连接两个字符串,可以用".."运处符。如:"This a " .. "string." -- 等于 "this a string"
6、Lua的注释是什么?
当我们写一个lua程序,总是少不了注释的。在Lua中,你可以使用单行注释和多行注释。
单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。
多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止。这种注释相当于C语言中的"/*…*/"。在注释当中,"[["和"]]"是可以嵌套的。
在lua中,语言之间可以用分号“;”隔开,也可也用空白隔开。一般来说如果多个语句写在同一行的话,
建议总是用分号隔开。
7、Lua的赋值语句是什么?
赋值语句在lua中被强化,它可以同时给多个变量赋值。比如:
a,b,c,d=1,2,3,4甚至是:a,b=b,a---多么方便的交换变量功能。
8、Lua中如何进行比较运算?
<(小于) >(大于) <=(小于等于) >=(大于等于) ~=(不相等)=(相等)
所有这些操作符总返回true或false。
对于table,function和userdata类型的数据,只有==和~=可以用。先跟表示两个变量引用同一个数据。
Lua学习第二课_初探lua和lua语法相关推荐
- JavaScript学习 第二课(二)
JavaScript学习 第二课(二) 一.Math对象: 该对象的作用是用来处理数学运算符的,该对象不需要手动创建,因为它是window对象的一个属性,当页面加载完毕后,后台就是自动创建Math对象 ...
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
- Python-opencv学习第二课:图像色彩
Python-opencv学习第二课:图像色彩 文章目录 Python-opencv学习第二课:图像色彩 一.学习内容 二.代码部分 NOTES:上一课代码改善(第一课) 1.引入库(第二课内容开始) ...
- 7年级计算机组成ppt,《第二课_计算机的硬件软件了解计算机系统的组成课件》初中信息技术滇教科课标版七年级全一册课件.ppt...
<第二课_计算机的硬件软件了解计算机系统的组成课件>初中信息技术滇教科课标版七年级全一册课件 下一页 上一页 封面 退出 计算机的组成 中学信息技术 导入 讲解 练习 小结 下一页 上一页 ...
- as3学习第二课 显示对象和显示列表
关于显示对象 原文地址:as3学习第二课 显示对象和显示列表 作者:冰剑蓝影 一.显示对象 显示对象就是可以在舞台上显示的对象.包括直接看到的对象,如图形.文字.图片.视频.还有看不到但又真 ...
- lua学习第一课:下载安装(适合windows)、简单程序编译和学习网站推荐
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,优点很多.网上看到了一些良莠不齐的教程,现在自己来总结一番. 下载安装 下面介绍其中一种方法,步骤并不复杂,不需要任何环境 ...
- 0.0 目录-深度学习第二课《改善神经网络》-Stanford吴恩达教授
文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...
- Python 学习第二课:Python要点
第二课目录 进制 进制之间的转换 进制的计数 计算机中的单位 1.Python 语言 1.1 Python语言的基本概念 1.2 Python的特色 1.3 Python的发展及应用 2. 搭建环境 ...
- 3.12 总结-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
←上一篇 ↓↑ 下一篇→ 3.11 TensorFlow 回到目录 1.1 为什么是ML策略 (第三课) 总结 习题 第 61 题 如果在大量的超参数中搜索最佳的参数值,那么应该尝试在网格中搜索而不是 ...
最新文章
- sparkstreaming监听hdfs目录如何终止_Spark笔试题:Spark Streaming 反压机制
- springmvc教程--整合mybatis开发(spring+springMVC+mybatis整合开发)
- [转一下]未来卫星通信发展趋势
- ajax分片上传,ajax异步实现文件分片上传
- Linux 命令(135)—— gpasswd 命令
- MOQL-复杂事件处理(CEP)
- 同步调用、异步调用和回调函数
- 编译错误:GL/glew.h, GL/glut.h, EGL/egl.h没有那个文件或目录
- OpenStack Rocky Octavia 的实现与分析(零)架构简介
- Shell到底是什么?
- 修改scrollbars的样式
- 自动升级Notes客户机AUT功能实战
- linux系统下的微信安装(ubuntu20.04)
- 抽象工厂模式(优缺点、使用场景、具体实现)
- 南京大学计算机学类,并未开放计算机专业:南京大学2020年强基计划政策分析...
- 016 Rust死灵书之安全方式内存初始化
- 固态硬盘linux提升,固态硬盘在Linux系统下提升使用率妙方
- 如何编写jnlp文件
- pycharm可视化网页编程_pycharm + git+gitlab的可视化界面操作
- Qt实现的注册码工具