1、文件包含
假设a.lua和b.lua文件在同一个目录内。
b.lua文件的内容:
function func()
print("Hello world!")
end
a.lua文件的内容:
require "b"
func()
这样就可以调用b.lua文件的函数了。
2、把局部变量声明成了全局变量(忘了加local修饰符),会造成内存泄露。
任何一个全局变量都永久占用内存,除非显示赋值为nil释放。
局部变量比较加local修饰,全局或局部变量赋值为nil,该变量占用内存稍后会自动释放。
函数同样占用内存,全局函数永久占用内存,除非显示赋值为nil释放。
局部函数要加local修饰,将 全局或局部函数赋值为nil会自动释放。
脚本中定义的函数也是变量,一样可以置为 nil 来释放。
调用collectgarbage("collect")可以手动gc。
调用collectgarbage("count")可以查看lua占用内存。
3、lua二进制编译
⑴设置系统环境变量
我的电脑->属性->高级->环境变量(N )->系统变量->Path->在尾部添加 ;+lua.exe所在路径,如
;d:/My Documents/Visual Studio 2005/Projects/lua/release,重启机器。
⑵、新建文本文件,输入 print("Hello World"),退出将文件名改为 a.lua(可以直接使用之前的a.lua)
⑶、在CMD中输入 luac a.lua
⑷、如果在a.lua所在的目录下出现luac.out文件,则a.lua的二进制编译成功