attempt to index a nil value (global 'luasql')

require ’socket‘

require ’luasql.mysql'

上述返回结果都是正常

但是执行 env = luasql.mysql(),报错:

stdin:1: attempt to index a nil value (global 'luasql')
stack traceback:
stdin:1: in main chunk
[C]: in ?

解决方法:

luasql= require ‘luasql.mysql'

env = luasql.mysql()或env = assert (luasql.mysql())

结果正常

原因:从lua 5.2 之后,require不再定义全局变量,需要保存其返回值。

参考链接:

http://*.com/questions/10854971/luasql-nil-value/11657205

上一篇:NetBeans无法使用编码GBK安全打开文件


下一篇:Linux用户空间与内核空间(理解高端内存)