lua基础知识

lua语言的学习
1.协同程序
coroutine.create() 创建coroutine,返回coroutine, 参数是一个函数,当和resume配合使用的时候就唤醒函数调用
coroutine.resume() 重启coroutine,和create配合使用
coroutine.yield() 挂起coroutine,将coroutine设置为挂起状态,这个和resume配合使用能有很多有用的效果
coroutine.status() 查看coroutine的状态
注:coroutine的状态有三种:dead,suspend,running,具体什么时候有这样的状态请参考下面的程序
coroutine.wrap() 创建coroutine,返回一个函数,一旦你调用这个函数,就进入coroutine,和create功能重复
coroutine.running() 返回正在跑的coroutine,一个coroutine就是一个线程,当使用running的时候,就是返回一个corouting的线程

2.错误提示
我们可以使用两个函数:assert 和 error 来处理错误。实例如下:
error (message [, level])
例如:
assert(type(a) == “number”, “a 不是一个数字”)

3.错误处理
pcall接收一个函数和要传递给后者的参数,并执行,执行结果:有错误、无错误;返回值true或者或false, errorinfo。
xpcall接收第二个参数——一个错误处理函数,当错误发生时,Lua会在调用桟展开(unwind)前调用错误处理函数,于是就可以在这个函数中使用debug库来获取关于错误的额外信息了。

4.连接数据库
例子“”
require “luasql.mysql”
–创建环境对象
env = luasql.mysql()
–连接数据库
conn = env:connect(“数据库名”,”用户名”,”密码”,”IP地址”,端口)
–设置数据库的编码格式
conn:execute”SET NAMES UTF8”
–执行数据库操作
cur = conn:execute(“select * from role”)
row = cur:fetch({},”a”)
–文件对象的创建
file = io.open(“role.txt”,”w+”);
while row do
var = string.format(“%d %s\n”, row.id, row.name)
print(var)
file:write(var)
row = cur:fetch(row,”a”)
end

file:close() –关闭文件对象
conn:close() –关闭数据库连接
env:close() –关闭数据库环境

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值