在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
那么为什么要学习Lua语言了?仅仅上面这些优点是不够的,一般来说,Lua主要用于游戏开发中,性能不错,也可以当作配置文件。而对于性能要求不高的应用,强大的Python是更好的选择。 要学习Lua,自然离不开实践,我是在Win8下用VS2013来编译Lua源代码的,编译完成后可以得到一个Lua解释器,可以直接运行我们的脚本。先去官网下载Lua源代码,然后用Visual Studio创建一个C++控制台解决方案,默认不包含代码。接着把src文件夹复制到项目目录下,在VS中添加所需代码。我们一共需要创建3个项目,Lua5.2项目作为静态库,生成Lib文件;Lua项目作为解释器,引用Lua5.2项目,生成exe文件;Luac作为编译器,引用Lua5.2项目。src文件夹中,lua.c文件不要添加到库Lua5.2中,要单独添加到Lua中;luac.c文件则添加到Luac项目中。需要注意的是,在编译为lib文件时,需要做如下配置:C/C++ --> 高级 --> 编译为 --> 选择“编译为C++代码(/TP)”,否则使用lua lib库的时候会报链接错误。不知道怎么弄的可以直接下载我提供的Lua工程代码,点击下载。弄好后,得到Lua.exe,Luac.exe和Lua5.2.lib文件,我们把这些文件放入一个Lua文件夹中,加入到系统环境变量Path中可以直接在CMD下使用。 那么用什么代码编辑器了?这里推荐使用sublime,加上插件确实方便,https://github.com/leitwolf/LuaTools。不过代码提示不够好,使用io函数时会报错,我也不知道用什么好,随意吧。好了,如果你把lua.exe加入到了环境变量中,就可以在Windows下直接运行Lua命令来启动解释器了。输入print('hello')就可以得到输出结果,但你肯定不想这么写程序,所以还是用编辑器创建一个.lua文件比较好,然后在CMD中输入命令lua file.lua就可以得到运行结果了。下面总结一下这些常用的命令格式。 在CMD模式下,就是没有直接运行lua.exe的情况下,格式如下,前面的是命令,后面是注释: lua options script args; 在运行了Lua.exe的交互模式下,格式如下: =4*3, as a calculator; 下面我们创建一个test.lua测试文件,一个简单的函数: function fact(n)
if n < 0 then
return nil
elseif n == 0 then
return 1
else
return n * fact(n-1)
end
end
print(fact(-4))
print("filename: " .. arg[0] .. "\n")
function表示函数,后面是函数名和参数。可以看到,语句之间不需要分隔符,但你使用;并没有错。if语句和函数以end作为结尾,也不需要指定返回值类型。 Lua是一个自由格式的语言,变量名可以由任意字符构成,但不能以数字开头,也不能是常用的关键字。Lua是区分大小写的。常用的关键字有:and, or, not, if, else, elseif, then, end, true, false, nil, goto, function, for, do, while, until, break, return, in, local, repeat。
Lua是动态脚本语言,这意味着“变量”没有类型,只有“值”有类型。语言中不存在类型定义,所有的值拥有自身类型。Lua中的八种基础数据类型,可以用type函数查看类型:
Tables,functions,threads,full userdata的value都是objects(变量并不包含值,只是这些值的引用)。 关于Lua的学习,推荐Programming in Lua第三版这本书,英文的,不懂的可以对照第二版中文的看。本以为Lua的知识很少,写点东西就没了,但学完后才发现太多了,所以就不继续了。 推荐一个学习项目,https://github.com/xfbs/PiL3;还有这篇博文 http://www.cnblogs.com/stephen-liu74/archive/2012/06/13/2407507.html |
请发表评论