接触 Lua 是由于网易的梦幻和魔兽争霸两款游戏,这两款都是我个人比较喜欢的游戏,几经波折,发现他们使用的动态脚本是 Lua;很多人认为 Python 是很好的一门脚本语言,不错,但是我个人认为还是 Lua 比较好! 大家注意 Lua的读音:---> 鲁啊
第一次讲讲简单的Lua 知识:
首先大家需要下载一个 Lua 的解释器,Lua.exe 以及 Luac.exe以及相关的libs...( CSDN 有下载的整合包 )
先写一个DEMO :大家都很熟悉的“ 阶乘 ”
function fact(n ) -- 这是函数
if( n == 0 ) then
return 0 ; -- 注意可以有" ;"也可以没有
else
returnn * fact( n - 1 ); -- 同上
end --对应if的end
end -- 对应函数的end
print(" Test: " )
num = 3
print( fact(num ) ) -- 最后输出的结果就是: Test: 6
上面的代码现在看貌似很麻烦,就像当初学习C语言第一页的“阶乘 ”程序,感觉很麻烦,没事,我们慢慢来、、、
下面看点Easy的:
1.
Lua的关键字:
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
2.
特殊字符:
\a
--- 铃声(bell)\b
--- 回退(backspace)\f
--- form feed\n
--- 新行(newline)\r
--- 回车(carriage return)\t
--- 水平制表符(horizontal tab)\v
--- 垂直制表符(vertical tab)\\
--- 反斜杠(backslash)\"
--- 双引号(quotation mark)\'
--- 单引号(apostrophe)\[
--- 左方括号(left square bracket)\]
--- 右方括号(right square bracket)3.
注意 Lua中的注释是“ -- ” 来注释的,有意思吧。呵呵~
注意注释可以有两种:第一种就是 --对于一行起作用是可以的 如: -- 这是什么 ,这是注释
还有第二种就是: --[[
print( "skjdvksjvkj" )
--]]
注意这个 输出是无效的哦,呵呵~ 此注释很好玩嘿嘿。。。
4.
注意 “ ; ” 在每句的结尾不是必须的,如:
a = 10
a =10;
b =10 s = 9
b = 10; s = 9;
都是正确的哦
5.
关于加载 .lua 文件
DEMO:
if 有一个 l.lua 文件,内容是:
-- 下面是一个函数
function norm( x, y )
return ( x^2 + y^2 ) * 0.5
end
functiontwice( x )
returnx * 2
end
现在运行lua.exe 输入:
dofile("l.lua" ) --加载库文件
a= norm( 1, 1 )
print( twice( a ) )-- 输出 2.00...
6.
关于 Lua的变量:if 不赋值,那么输出的是nil量,例如:print( q); -- 输出nil
q = 10;
print(q ); -- 输出 10
所以在 Lua中没有什么消不消除变量一说,一个变量存在,没有赋值之前都是nil,所以if你不需要此变量了,赋值为nil即可,呵呵~有意思吧!
而且对于Lua中的变量来说并没有限定死的类型锁定,所以也就没有类型强转之说,大家之间都是可以随便转化的,如: a = 10
print( type( a ) ) --输出number
a = "str"
print( type(a ) ) -- 输出string
--type( xxx ) 函数可以得到含量的类型
这个是很方便的~~
Last.
关于退出Lua.exe,一般 键入一个“文件结束符”(在Unix系统中是Ctrl-D,DOS/Windows中是Ctrl-z),或者调用OS库的退出函数(键入:os.exit())
第一次就这么多吧,呵呵,支持Lua ,喜欢 Lua ,Lua 加油~~~~