
一本正经学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 · 201 阅读 · 2 评论 -
1.基础概念
1.基础概念 程序段 Lua语言执行的每一段代码,一个文件或者交互模式下的一行,称为程序段。 Lua保留字 and break do else elseif end false goto for function if in local nil not or repeat return then true until while 注释 --单行注释 --注释部...原创 2019-01-03 15:39:38 · 180 阅读 · 0 评论 -
2.数值
数值 Lua5.3语言为数值类型提供了两种选择:被称为integer的64位整形和被称为float的双精度浮点型(没错,双精度)。 数值常量 能看到的数字都是常量,可以用科学计数法(e,E),具有十进制小数点的数据和指数的数据会被当做浮点型数值,否则当做整型值。 注意 由于整型值和浮点型值类型都是number,所以可以互相转换,并且具有相同算术值的整...原创 2019-01-03 15:40:59 · 225 阅读 · 0 评论 -
3.字符串
字符串 Lua中字符串既可以表示单个字符也可以表示多个字符。同时是字符串是不可变值。不能像c语言那样改变字符串的某个字符,只能通过创建新字符串的方式。 长度操作符(#) 使用#来获取字符串占用的字节数,某些编码与字符串中的字符数不同。 a='genius' print(#a) --输出 6 连接操作符(…) 使用…来进行字符串的连接。如果操作数存在数值,则会先将数值转换为字符串。 a='geni...原创 2019-01-03 15:42:08 · 194 阅读 · 0 评论 -
4.表
表 表是一种动态分配的对象,只能操作指向表的引用,除此之外Lua语言不会进行隐藏的拷贝和创建新的表。 a= {} k="x" a[k]=10 a[20]=100 print(a[20]) --表永远是匿名的1,表本身与保存表的变量之间没有固定的关系 b=a b["x"]=200 print(a["x"]) -- 当不再有引用指向表时,垃圾回收机制会删除这个表,并重新利用其占用的内存。 b=nil ...原创 2019-01-03 15:43:14 · 219 阅读 · 0 评论 -
5.函数
函数 函数的简单定义: function add( a,b ) local c=a+b print(c) return c end print(add(1,2)) --输出 3 3 函数调用时:当函数只有一个参数且该参数是字符串常量或表构造器时,括号可选 print "abc" -- 等价于 print("abc") print {1,2,3} -- 等价于 print({1,2,3})...原创 2019-01-04 15:23:15 · 199 阅读 · 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 · 291 阅读 · 0 评论 -
7.补充知识
补充知识 局部变量和代码块 Lua语言中的变量在默认情况下是全局变量,所有的局部变量在使用前必须声明。局部变量的作用域仅仅在声明它的代码块(一个代码块是一个控制结构的主体,或者函数的主题,或者是一个程序段(Lua中一个Lua文件或者交互模式的一行称为程序段)) local x=1 局部变量有常见的作用域,局部变量的声明可以包含初值,未赋初值则为nil。还可以使用do-end程序块。 local ...原创 2019-01-07 21:51:25 · 339 阅读 · 1 评论