Lua学习笔记
HappyMrSpring
这个作者很懒,什么都没留下…
展开
-
Lua学习笔记-day1:Lua特性、安装、基本语法、数据类型、变量
一、Lua教程 设计目的:嵌入应用程序,从而为应用程序提供灵活的扩展和定制功能。 特性: 轻量级:标准C实现;开放源码;源码2万多行;编译后仅100多Kb。 可扩展: 其他特性: 支持面向过程编程和函数式编程; 自动内存管理; 语言内置模式匹配;闭包等; 通过闭...原创 2018-12-05 16:00:24 · 145 阅读 · 0 评论 -
Lua学习笔记-day9: 文件I/O
一、Lua文件I/O Lua读取和处理文件分为:简单模式和完全模式。 简单模式:仅指针一个输入文件和一个输出文件进行操作。 完全模式:可以同时处理多个文件。 打开文件: file = io.open(filename [, mode]) 参数mode说明: 'r' : 以只读方式打开文件,文件不存在时返回nil...原创 2018-12-10 16:12:02 · 170 阅读 · 0 评论 -
Lua学习笔记-day5: 数组、迭代器
[]Lua数组 特点: 数组中的元素的数据类型是相同的。 索引以整数表示,索引起始值为1. 数组大小是不固定的。(不同于C中的数组,与python中的list类似。) 一维数组: 示例1: arr = {"one", "two"} for index = 0,2 do p...原创 2018-12-07 16:36:10 · 123 阅读 · 0 评论 -
Lua学习笔记-day8: 协同程序(coroutine)
[]Lua协同程序(coroutine) 特点: 拥有独立的堆栈、独立的局部变量和独立的指令指针。 与其他协同程序共享全局变量和其他大部分东西。 线程和协同程序的区别: 具有多个线程的程序,多个线程可以同时运行;但是具有多个协程的程序,同一时刻只能有一个协程运行。 基本语法: coroutine.create()...原创 2018-12-07 16:32:33 · 174 阅读 · 0 评论 -
Lua学习笔记-day7: 元表
[]Lua元表(Metatable) 定义: 元表(metatable)允许我们改变表(table)的行为,每个行为关联了对应的元方法。 处理元表的两个函数: setmetatable(table, metatable) 为指定table设置元表metatable; 如果metatable中存在__meta...原创 2018-12-07 16:32:06 · 149 阅读 · 0 评论 -
Lua学习笔记-day6: 表、模块与包
一、Lua table(表) 特点: table是Lua的一种数据结构,可以用来创建不同的数据类型,如:数组(索引默认从1开始的简单的线性表),字典等。 table使用关联型数组,可以使用任何类型的值作为数组的索引,nil除外。 大小不固定。 table(表)的构造 构造器是创建和初始化表的表达式。最简单的构造函数是{},创...原创 2018-12-06 18:42:39 · 176 阅读 · 0 评论 -
Lua学习笔记-day4: 字符串
一、字符串 字符串的表示形式: 单引号"'",双引号""",两对中括号"[[]]"。 转义字符: \ddd: 1到3位八进制数所代表的的任意字符。 \xhh: 1到2位十六进制数所代表的的任意字符。 字符串操作: string.upper('Hello') 功能:字符串全部转换为大写字母。 结果...原创 2018-12-05 19:02:19 · 215 阅读 · 2 评论 -
Lua学习笔记-day3:函数、运算符
一、Lua函数 1. 函数定义: optional_functoin_scope function function_name(arg1, arg2, arg3,...,argn) function_body return ret1,ret2,...,retn end 1.1 说明: ...原创 2018-12-05 16:06:27 · 149 阅读 · 0 评论 -
Lua学习笔记-day2:Lua循环、流程控制
一、Lua循环 Lua提供以下几种循环方式: while: 首先判断终止条件为true时,然后再执行循环体语句; for: 循环体执行的次数在for中指定; repeat...until: 首先执行循环体,然后判断终止条件,终止条件为true时,循环退出; 循环嵌套 循环控制语句; break: 退出当前循环...原创 2018-12-05 16:01:03 · 186 阅读 · 0 评论 -
Lua学习笔记-day10:错误处理、调试、垃圾回收、面向对象、数据库访问
一、Lua错误处理 错误类型:语法错误、运行错误。 错误处理: assert()函数: 功能:检查第一个参数是否为true,如果不为true则将第二个参数作为错误信息抛出。 示例: function add(a, b) assert(type(a) == 'number', 'a is not a...原创 2018-12-10 16:12:25 · 152 阅读 · 0 评论