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://stackoverflow.com/questions/10854971/luasql-nil-value/11657205