lua?什么是Lua
大家好,今天给各位分享lua的一些知识,其中也会对什么是Lua进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
什么是Lua
Lua是一种简单、可扩展、可移植及高效的脚本语言
是一种面向 C的 API存在一个特别的虚拟栈,通过这个栈与lua交换数据
栈大大简化了C API的设计与使用,还能保证其他语言与lua有效的隔离开
从设计目的来讲:
1.就是某一个功能模块,通过lua进行扩展
2.想只靠lua开发程序,是不太现实的
lua中...的意义
...就是不定参数(arg),也就是说参数没有规定多少个。例如 print函数,他的参数就没有规定几个。
---------------例子定义含有不定参数的函数 czf---------------------
function czf( i,...)--参数为i和 arg
print( i)
print(...)
print(type(...))
print(arg[1])--arg等价于...
print(arg[3])
end
czf(1,2,3,4,5)
--应该输出
--1
--table一个地址
--table
--2
--4
--------------------------例子2文件中的arg-----------------------------------------------------------------
现在有一个文件 czf.lua
print(...)
print(arg)
print(arg[1])
--文件结束
--------------------------------------------------------
用 lua运行上面的文件,命令行为
>lua-e"io.stdout:setvbuf'no'""czf.lua"
应该输出
table
table
nil
再运行一次,不过命令行为
>lua-e"io.stdout:setvbuf'no'""czf.lua"“czfczfczf“
注意最后面
输出
table
table
czfczfczf
在文件里的...就是运行lua时后面带的参数。
纯手打,转侵删.
lua是什么语言
Lua[1]是一个小巧的脚本语言。它是巴西里约热内卢天主教大学里的一个由Roberto Ierusalimschy、Waldemar Celes和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。
其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
什么是lua
先讲讲我知道的一些应用。
首先是在i OS下写游戏,《愤怒小鸟》就是用lua写的;同时,也好多用其它语言在为Iphone写游戏的程序员,添加lua到游戏开发中去,让过程更简单。当然,Lua最著名的应用是在暴雪公司的网络游戏《魔兽世界》中----在网上可以找到好多用lua做的wow小工具。
然后是一些小的程序,这个和我的目标一致,一些简单的测试用例可以用lua来写,比如可以在百度找得到的‘康泰串口程序’,还在百度文库发现一篇,有在用lua开发测量仪器上位机测试程序的例子(好处是用c写完一些固定的调用后,用lua简单配置一下,又是另外一个测试程序,写完就可以用)。
Unified Configuration Interface
讲点其它细节。
lua是动态语言,它的解释器现在有用各种主流语言完成的各种版本,c、java...应有尽有。你的程序需要做config吗?lua应该是个不错的选择。或者,找现成的lua解释器过来,你可以再添加好你的库,完全直接执行脚本也行。
有人把它和python作比较,可能是应用领域的关系,那个家伙讲,他觉得lua会比python好用。在lua的官网可以看到他们吹水记录,不贴连接了。
网上下的某PPT里这么讲,Lua最引人注目的特点:
--以极小的体积和简单的语法提供相对全面的功能。
--以简洁的API实现与宿主语言最方便的接口。
Lua没有打算被用来进行大型的程序设计,相反,Lua定位于中小型程序设计,通常是作为大型系统的一部分,常用于一个或少数程序员开发的情况,甚至是由非程序员进行的开发。所以,Lua避免了过分的冗余和过多的人为限制。如果你不希望一个对象的内部结构被访问,那么就不要去访问它们。
lua的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于什么是Lua、lua的信息别忘了在本站进行查找哦。