Lua 入门( 一 )

来源:互联网 发布:android之淘宝购物车 编辑:程序博客网 时间:2024/05/16 17:35
 

  接触 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, )

                           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 加油~~~~