一本正经学lua
最近由于对lua很有兴趣,决定试试
genius-x
这个作者很懒,什么都没留下…
展开
-
0.前言
简介笔者下定决心,以后打算从事游戏方面工作,所以Lua是不得不了解的。1.关于系列内容正如笔者开始提到的,本系列想写的是给Lua教程,甚至只是自己学习笔记,当然了笔者也算边学。2.编译器这里Lua的IDE也调了很久,最后使用了熟悉的sublime配置了一下,也挺好,懒得折腾了。请参考-Sublime Text 3(中文)添加Lua编译环境3.关于参考书籍(1)《Lua程...原创 2018-11-30 09:51:25 · 177 阅读 · 2 评论 -
1.基础概念
1.基础概念程序段Lua语言执行的每一段代码,一个文件或者交互模式下的一行,称为程序段。Lua保留字andbreakdoelseelseifendfalsegotoforfunctionifinlocalnilnotorrepeatreturnthentrueuntilwhile注释--单行注释 --注释部...原创 2019-01-03 15:39:38 · 153 阅读 · 0 评论 -
2.数值
数值Lua5.3语言为数值类型提供了两种选择:被称为integer的64位整形和被称为float的双精度浮点型(没错,双精度)。数值常量能看到的数字都是常量,可以用科学计数法(e,E),具有十进制小数点的数据和指数的数据会被当做浮点型数值,否则当做整型值。注意 由于整型值和浮点型值类型都是number,所以可以互相转换,并且具有相同算术值的整...原创 2019-01-03 15:40:59 · 185 阅读 · 0 评论 -
3.字符串
字符串Lua中字符串既可以表示单个字符也可以表示多个字符。同时是字符串是不可变值。不能像c语言那样改变字符串的某个字符,只能通过创建新字符串的方式。长度操作符(#)使用#来获取字符串占用的字节数,某些编码与字符串中的字符数不同。a='genius'print(#a)--输出6连接操作符(…)使用…来进行字符串的连接。如果操作数存在数值,则会先将数值转换为字符串。a='geni...原创 2019-01-03 15:42:08 · 160 阅读 · 0 评论 -
4.表
表表是一种动态分配的对象,只能操作指向表的引用,除此之外Lua语言不会进行隐藏的拷贝和创建新的表。a= {}k="x"a[k]=10a[20]=100print(a[20])--表永远是匿名的1,表本身与保存表的变量之间没有固定的关系b=ab["x"]=200print(a["x"])-- 当不再有引用指向表时,垃圾回收机制会删除这个表,并重新利用其占用的内存。b=nil...原创 2019-01-03 15:43:14 · 195 阅读 · 0 评论 -
5.函数
函数函数的简单定义:function add( a,b ) local c=a+b print(c) return cendprint(add(1,2))--输出33函数调用时:当函数只有一个参数且该参数是字符串常量或表构造器时,括号可选print "abc" -- 等价于 print("abc")print {1,2,3} -- 等价于 print({1,2,3})...原创 2019-01-04 15:23:15 · 163 阅读 · 0 评论 -
6.输入输出
输入输出对于文件操作而言,Lua I/O库提供了两种不同模型。简单I/O模型简单I/O 模型虚拟了当前输入流和一个当前输出流,其I/O操作在这些流上实现的。默认当前输入流为标准输入流(C的stdin),输出流为标准输出流(C的stdout).io.input与io.output可以用于改变当前的输入输出流,调用io.input(file-name) 会以只读模式打开指定的文件,并将其设置...原创 2019-01-07 16:37:19 · 218 阅读 · 0 评论 -
7.补充知识
补充知识局部变量和代码块Lua语言中的变量在默认情况下是全局变量,所有的局部变量在使用前必须声明。局部变量的作用域仅仅在声明它的代码块(一个代码块是一个控制结构的主体,或者函数的主题,或者是一个程序段(Lua中一个Lua文件或者交互模式的一行称为程序段))local x=1局部变量有常见的作用域,局部变量的声明可以包含初值,未赋初值则为nil。还可以使用do-end程序块。local ...原创 2019-01-07 21:51:25 · 290 阅读 · 1 评论