关闭

Lua 入门( 一 )

1085人阅读 评论(0) 收藏 举报
 

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


1
0
查看评论

【Lua】特性和一些基础语法总结(Lua入门到精通一)

Lua的语法基础比较简单,比较容易上手,下面总结一些学习过程中的Lua语法基础。 Lua优点及特性 Lua 是一个小巧的脚本语言。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译...
  • swj524152416
  • swj524152416
  • 2017-05-10 18:03
  • 876

Lua初学者入门要掌握的资料

Lua中国开发者同盟 http://www.luaer.cn/ 初识Lua,搭建环境和第一个程序 . http://blog.csdn.net/kingsollyu/article/details/6613468 Lua使用静态库 . http://blog.csdn.net/kingso...
  • zhangyulin54321
  • zhangyulin54321
  • 2013-10-15 19:15
  • 1146

nginx学习(十二)——nginx+lua入门

参考文章:http://www.111cn.net/sys/nginx/106730.htm 1.hello lua nginx通过content_by_lua和content_by_lua_file来嵌入lua脚本。 content_by_lua 修改nginx配置文件nginx.conf lo...
  • xxcupid
  • xxcupid
  • 2016-09-13 10:49
  • 1383

em-lua语言入门学习视频。

这是我学习lua语言所参照de 【从零开始做游戏】系列 1.从零开始做游戏-Lua语言基础-1:下载:http://u.115.com/file/f3fd0bd4d1 2.从零开始做游戏-Lua语言基础-2:下载:http://u.115.com/file/f35820c207 3....
  • walt999
  • walt999
  • 2014-07-08 14:34
  • 499

Nginx+Lua开发入门

Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动、关闭、重启 http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html agentzh 的 Nginx 教程 ...
  • li_star
  • li_star
  • 2016-01-26 18:04
  • 1341

脚本语言Lua简单入门学习笔记

lua入门学习    非等于  ~= 连接号  .. and  or not   只有 false和nil为假其余为真 a and b -- 如果 a 为...
  • sqh201030412
  • sqh201030412
  • 2017-01-18 16:49
  • 385

Lua脚本语言入门(一)

1、CCLuaEngine:Lua脚本引擎,它的基类规定了所有Lua引擎的功能函数。通过CCLuaEngine的静态函数获取一个Lua脚本引擎实例对象指针。  CCLuaEngine* pEngine = CCLuaEngine::defaultEngine(); 2、CCScripE...
  • h980740316
  • h980740316
  • 2014-06-11 18:03
  • 1705

Lua脚本编程:Lua语言入门

Lua是一门简单而强大的语言,其本身强大的扩展性使得这门语言在游戏设计等领域发挥着重要的作用。博主曾在Unity3D中使用过这门语言,并且针对Lua和Unity、C++等方面的内容进行了学习和讨论。最近因为在【游戏脚本高级编程】这本书中详细介绍了Lua脚本的相关内容,因此在这里记录下博主的读书心得,...
  • qinyuanpei
  • qinyuanpei
  • 2015-03-03 10:37
  • 4638

Cocos2d Lua 入门小例子 一个记忆力游戏

1.游戏说明一个"记忆"类的比赛游戏。你和电脑对战,轮到谁的回合,谁翻两张牌,如果两张牌一样,就消掉这两张牌,得2分,可以继续翻牌,如果两张牌不一样,就换一个人。直到最后,看谁的得分高。游戏设计思想可以看这篇文章《Cocos2d 游戏状态机》 2. Lua 简单面向对象...
  • fox64194167
  • fox64194167
  • 2014-08-29 08:33
  • 3918

Lua语言入门(一)

开篇1、几个连续语句之间不需要分割符,但也可以使用分号分割。 比如: a = 1 b = 2等价于a = 1; b= 22、lua解释器对于大型程序块处理不会有任何问题。3、在交互模式中执行代码 或 将程序代码保存到一个文件中再执行,退出交互模式:调用os.exit(),或输入 end of fil...
  • k46023
  • k46023
  • 2016-09-21 12:55
  • 588
    个人资料
    • 访问:633206次
    • 积分:7110
    • 等级:
    • 排名:第3814名
    • 原创:182篇
    • 转载:36篇
    • 译文:0篇
    • 评论:84条
    博客专栏