Lua 学习记录

闭包应用:

1. 作为高阶函数的参数,如table.sort的参数。

2. 创建其他函数的函数,即返回一个闭包。

3. 作为回调函数,即upvalue不一样。

4. 创建安全环境-沙盒。

5. 实现迭代器。

 

require机制:

1. require只加载一次,按特定的规则去查找文件并且加载。a = require("test")

2. loadfile编译代码,将整个模块文件当成一个函数返回,但不会执行代码。a = loadfile("test.lua"); a()

3. dofile读入代码文件并编译执行。a = dofile("test.lua")

 

模块和包:

 

_G和_ENV的区别:

5.1之前:改变环境用setfenv

5.2之后:引入_ENV叫做环境,是一个upvalue(非局部变量)。为了兼容5.1之前的版本,_ENV['_G']指向了_ENV自身。

 

元表:

1. __index用来对表进行访问,可以是设置成表或者函数。

2. __newindex用来对表进行更新,对新索引键会调用元方法,而不进行赋值。可以使用rawset函数更新表。

3. __call用来调用一个值,print(table1(table2))

4. __tostring用于修改表的输出行为。

 

协程:

1. 函数有create, resume, yield, status, wrap, running

 

文件I/O:

错误处理:

调试:

垃圾回收:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值