lua基础学习
学习 lua ,并实战使用
跃千山
这个作者很懒,什么都没留下…
展开
-
lua学习之基础概念篇
基础概念程序块 (chunk)定义lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块一个程序块就是一连串语句或者命令lua 中连续的语句不需要分隔符,但为了可读性可以加换行,或者分隔符分号 ; 来分割语句但是换行在代码中没有任何作用,仅仅是为了提高可读性a = 1b = a * 2a = 1;b = a * 2a = 1; ...原创 2020-02-12 18:46:50 · 889 阅读 · 0 评论 -
lua学习之类型与值篇
类型与值lua 是动态类型的语言在语言中没有类型定义的语法每个值都携带有它的类型信息8种基础类型用 type 可以返回这个值的类型的名称将一个变量用于不同类型,通常会导致混乱的代码但合理使用,如异常情况下返回 nil ,以区别正常情况下的其他类型的返回值变量没有预定义的类型,任何变量都可以包含任何类型的值print(type("Hello")) --st...原创 2020-02-11 20:35:30 · 851 阅读 · 0 评论 -
lua学习之表达式篇
表达式表达式用于表达值lua 中表达式可以为数字常量,自变字符串,变量,一元和二元操作符,函数调用、函数定义、table 构造式算数操作符一元操作符 -用于负号*/^%-用于减法x ^ 0.5x ^ (-1 / 3) -- x 的三次方再求导10 % 3 = 1 -- 余数计算x % 1 -- 得到的是 x 的小数部分x - x % ...原创 2020-02-12 22:22:17 · 183 阅读 · 0 评论 -
lua学习之函数篇
函数函数是对语句和表达式进行抽象的主要机制两种用法一是可以完成特定的任务,一句函数调用被视为一条语句二是以只用来计算并返回特定的结果,视为一句表达式print("Hello, World")a = math.sin(3) + math.cos(10)print(os.date())无论哪种用法都需要将所有参数放到一对圆括号中但如果参数是字面字符串或...原创 2020-02-17 21:34:21 · 856 阅读 · 0 评论 -
lua学习之复习汇总篇
第六日笔记1. 基础概念程序块定义在 lua 中任何一个源代码文件或在交互模式中输入的一行代码程序块可以是任意大小的程序块可以是一连串语句或一条命令也可由函数定义构成,一般将函数定义写在文件中,然后用解释器执行这个文件换行在代码中不起任何作用,只是为了提升可读性分隔符 ; 起分隔作用a = a * 2 b = a * ba = a * 2;b = a *...原创 2020-02-19 15:46:20 · 912 阅读 · 0 评论 -
lua学习之深入函数第一篇
深入函数第一篇函数是第一类值,具有特定的词法域第一类值第一类值的意思是函数与 lua 中的其他类型如数字,字符串具有相同的权力函数可以存储到全局变量或局部变量变量,还可以存储到 table 中可作为实参传递给其他函数,也可以作为其他函数的返回值词法域定义:一个函数可以嵌套在另一个函数中,内部函数可以访问外部函数定义的局部变量函数与其他所有的值一样都是匿名的...原创 2020-02-23 21:00:29 · 782 阅读 · 0 评论 -
lua学习之深入函数第二篇
深入函数 2非全局的函数函数是第一类值,函数可以存储到全局变量,局部变量,table 字段中lua 函数库中的大部分函数存储到 table 字段中Lib = {}Lib.foo = function (x, y) return x + yendLib.goo = function (x, y) return x - yendLib = { f...原创 2020-02-26 20:55:49 · 816 阅读 · 0 评论 -
lua学习之迭代器与泛型for 1
迭代器与泛型 for 1迭代器与 closure「迭代器」是一种可以遍历一种集合中的所有元素的机制在 lua 中通常将迭代器表示为函数每调用一次函数,即返回集合中的「下一个」元素每个迭代器都需要在每次成功调用之间保存一些状态这样就知道它现在所在的位置以及如何步进到一下位置一个 closure 就是一种可以访问其外部嵌套环境中的局部变量的函数这些变量可用于在成功调用之间保持...原创 2020-02-28 23:13:41 · 179 阅读 · 0 评论 -
lua学习之迭代器与泛型for 2
迭代器与泛型 for 2无状态的迭代器自身不保存任何状态的迭代器可以在多个循环中适用同一个无状态的迭代器,避免创建新的 closure 开销在每次迭代中,for 循环都会用恒定状态和控制变量来调用迭代器函数一个无状态的迭代器可以根据这两个值来为下次迭代生成下一个元素a = {"one", "two", "three"}for i, v in ipairs(a) do pr...原创 2020-03-02 14:33:00 · 102 阅读 · 0 评论 -
lua学习之迭代器与泛型for 3
迭代器与泛型 for 3具有复杂状态的迭代器使用 closure 可以保存迭代器所需保存的所有状态也可以将迭代器所需的所有状态打包为一个 table 并保存在 恒定状态中在循环过程中 恒定状态 总是同一个 table但这个 table 的内容却可以改变即在循环过程中改变 table 数据由于这种迭代器可以保存所有数据将其存储到 恒定状态中,因此第二个参数 控制变量 可以忽略lo...原创 2020-03-02 23:18:08 · 279 阅读 · 0 评论 -
lua学习之编译
编译lua 是解释语言但 lua 允许在运行源代码前,先将源代码编译为一种中间形式区别解释语言的主要特征并不在于是否能编译它们在于编译器是否是语言运行时库的一部分是否有能力执行动态生成的代码loadfile 函数dofile 函数是一种内置的操作,用于运行 lua 代码块dofile 仅是做了 loadfile的辅助工作loadfile 会从一个文件加载 l...原创 2020-03-09 11:28:08 · 273 阅读 · 0 评论 -
lua学习之错误处理
错误处理动态链接在 Lua 中,动态链接被视为所有其他机制的母机制因此利用它就可以动态地加载任何其他不在 Lua 中的机制package.loadlib 所需两个参数库的完整路径正确的函数名称loadlib 函数加载指定的库,并将其链接入 Lua它没有调用库中的任何函数而是将一个 C 编写的函数作为 Lua 函数返回如果加载库或查找初始化函数时发...原创 2020-03-13 00:19:18 · 254 阅读 · 0 评论 -
lua学习前5章解惑
lua学习前5章解惑基础概念-l 参数-- a,b文件均需放到 lua.exe 所在的文件目录-- a.lua 文件x = 5-- b.lua 文件print(x)-- 交互模式中输入lua -la -lb -- 先运行 a.lua ,再运行 b.lua-- 结果为 5表达式链表list = nillocal rows = 1list_next = nilfor...原创 2020-04-19 23:20:30 · 91 阅读 · 0 评论