lua基础知识笔记
一、lua中的数据类型
1、数值
a = 1
b = 1.2
2、字符串
c = "hello world"
3、布尔
d = true
f = false
4、表(Table) = 数组+映射
4.1、数组
a = {}
a[1] = 10
a[2] = "hello"
a[3] = true
--or
a = {10, "hello", true}
4.2、映射
a = {}
a["hello"] = 1
a[3] = false
--or
a = {
["hello"] = 1,
[3] = false
}
二、函数
单返回值示例:
function add(a, b)
local c = 1
return a + b + c
end
其中的 c 只在函数内部有效
多返回值示例:
function addTwo(a, b)
c = 1
return a + b, a - b
end
--调用
a, b = addTwo(1, 2)
其中的 c 全局有效(应尽量避免这种写法)
三、表达式
and、or、not、..用法示例:
a = true and false
b = true or false
c = not true
d = "a".."b"
四、if语句
格式为:
if 表达式 then
代码块一
elseif 表达式 then
代码块二
else
代友块三
end
五、while语句
格式为:
while 表达式 do
循环体
end
六、for语句
1、循环
for i = 10, 1, -1 do
print(i)
end
2、遍历
a = {
['foo'] = 1,
[100] = true
}
for k, v in pairs(a) do
print(k, v)
end
其中pairs()为迭代器,类似的还有 ipairs() 迭代器,ipairs()只迭代Table中的数组部分
七、包(package)
示例:
foo.lua文件:
local class = {}
function class.foo(a, b)
return a + b
end
return class
调用这个包:
local c = require("foo")
print(c.foo(1, 2))
注:这两个文件要在同一目录下
八、系统库
1、取对象长度:#t
2、table系列方法:
table.insert(t, index)
table.remove(t, index)
table.sort
table.move
table.pack
table.uppack
table.concat
3、字符串格式化:string.format("hi %d", 2)
4、数值转为字符串:tostring(3.14)
5、字符串转数值:tonumber("3.14")
6、删除映射:
local t = {}
t.a = 1
t.b = 2
--删除t.a用
t.a = nil
7、判断对象类型:type(t)
lua基础知识笔记的更多相关文章
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- Java多线程基础知识笔记(持续更新)
多线程基础知识笔记 一.线程 1.基本概念 程序(program):是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象. 进程(process):是程序的一次执行过程,或是 ...
- Step By Step(Lua基础知识)
Step By Step(Lua基础知识) 一.基础知识: 1. 第一个程序和函数: 在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如: /> l ...
- javascript基础知识笔记-自用
笔记内容根据个人基础知识不足不明白之处做的记录.主要看的:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 1.变量,变量的名字又叫标识符 ...
- Mysql之基础知识笔记
Mysql数据库基础知识个人笔记 连接本地数据库: mysql -h localhost -u root -p 回车输入数据库密码 数据库的基础操作: 查看当前所有的数据库:show database ...
- java基础知识-笔记整理
1.查看已安装jdk文件路径 CMD输入java -verbose. 2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...
- JavaScript基础知识笔记
做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...
- Javascript 基础知识笔记
标签(空格分隔): 廖老师学习笔记 javascript 基本入门 根据廖雪峰老师官网,自己看后的简单笔记 第一小节 基本知识 <script type="text/javascrip ...
- 初学MySQL基础知识笔记--01
本人初入博客园,第一次写博客,在今后的时间里会一点点的提高自己博客的水平,以及博客的排版等. 在今天,我学习了一下MySQL数据库的基本知识,相信关于MySQL的资料网上会有很多,所以我就不在这里复制 ...
随机推荐
- HDU 1757 A Simple Math Problem 【矩阵经典7 构造矩阵递推式】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1757 A Simple Math Problem Time Limit: 3000/1000 MS (J ...
- ACM-ICPC 2018 徐州赛区网络预赛 G. Trace【树状数组维护区间最大值】
任意门:https://nanti.jisuanke.com/t/31459 There's a beach in the first quadrant. And from time to time, ...
- bitmap和drawable的相互转化以及setImageResource(),setImageDrawable(),setImageBitmap()
从本地获取drawable图片:getResources().getDrawable(R.drawable.**) 获取bitmap:Bitmap b=BitmapFactory().decodeRe ...
- Openresty最佳案例 | 第7篇: 模块开发、OpenResty连接Redis
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616714 本文出自方志朋的博客 Lua模块开发 在实际的开发过程中,不可能把所有的lu ...
- Unity 游戏框架搭建 (十三) 无需继承的单例的模板
之前的文章中介绍的Unity 游戏框架搭建 (二) 单例的模板和Unity 游戏框架搭建 (三) MonoBehaviour单例的模板有一些问题. 存在的问题: 只要继承了单例的模板就无法再继承其他的 ...
- 微信小程序流量主如何开通
2018年7月09日,微信小程序流量主全面开通,开通条件如下: 累计独立访客(UV)不低于1000 # 一共一千个人访问你的小程序就可以申请(不限时间) 有严重违规记录的小程序不予申 ...
- JSP的小心得
问题:Web容器(例如Tomcat)是怎么来执行jsp文件的? 首先它会将放在webapps目录下的jsp文件(这里以hello.jsp为例)翻译成hello_jsp.java文件并编译为hello_ ...
- QString, Std::string, char *相互转换
Qt 库中对字符串类型进行了封装,QString 类提供了所有字符串操作方法,给开发带来了便利. 由于第三方库的类型基本上都是标准的类型,即使用std::string或char *来表示字符 (串) ...
- [tree]合并果子(哈夫曼树+优先队列)
现在有n堆果子,第i堆有ai个果子.现在要把这些果子合并成一堆,每次合并的代价是两堆果子的总果子数.求合并所有果子的最小代价. Input 第一行包含一个整数T(T<=50),表示数据组数. 每 ...
- Linux运维一定要知道的六类好习惯和23个教训,避免入坑!
Linux运维一定要知道的六类好习惯和23个教训,避免入坑! 从事运维三年半,遇到过各式各样的问题,数据丢失,网站挂马,误删数据库文件,黑客攻击等各类问题. 今天简单整理一下,分享给各位小伙伴. 一. ...