• Lua学习笔记之 Getting Start
    时间:2008-09-03   作者:佚名   出处:互联网

    很多高深的人物都说过类似的话:"语言层面的东西, 都是表面的东西, 最核心的是设计模式, 是算法", 我完全赞同这句话, 但同时也完全赞同另一句话: "对于从事编码实践的我们, 还是应该踏实的多掌握一些编码层面的东西, 才更有利于理解核心的东西, 附带的, 也可以借以增加自信, 找回青春"...

    前面写过的孔乙己系列, 是以底层的眼光看阳春白雪的C++(当然,还没写完), 而在这个系列里, 则完全是以一个LUA新人的角度来记录和描述一个LUA新手对LUA学习和上手的全过程, 各位看官如若有空, 不妨茶余饭后翻着看看.

    集中时间的写lua, 还是近来的事, 我们的服务器, 在游戏逻辑上, 现在全交给了lua. 说实话, 起先还是挺抗拒的, 觉得Lua写起来太慢, 但现在, 似乎慢慢找到了感觉, 一些概念也跟以前自己沉淀的东西结合了起来, 有了参照的对象, 自然, 也就有了一些自然的推理, 而这些推理和理解又伴随着进一步指导自己的实践开发. 我们现在用的是Lunar封装, 写时的感觉, 就象在用C的东西, 在完成C++的那一套概念. 这个学习笔记, 是直接从pil(http://www.lua.org/pil/index.html)文档里翻译过来的, 而我翻译时的方法, 也不是一字不差的照搬, 而是快速浏览文中的示例代码, 快速结合自己的开发体会, 尽可能简明扼要的总结我所感兴趣或我所不清楚的细节, 但这些内容可能是你早已经熟悉的, 特此提醒.

    以下是第一部分:

    1.从lua交互状态退出的方法
    ^+D, ^+Z, os.exit()

    2.lua可连续运行两个文件, 如:
    lua -la -lb
    其中, l是连接符, 不可少. a,b是两个不同的文件, 这个对于测试和debug特别有效

    3.dofile可用于立即执行文件

    4.全局变量不需要声明,赋值时即同时声明, 所以应该在初始化时进行赋值
    如果要删除全局变量, 用nil删除; 而如果只是局部使用某变量,应该声明成局部量local

    5.lua中的关键字不能以数字开头, 只能以字母和下划线开头, 组成元素可以是字母, 数字和下划线

    6.保留字不能用作关键字(废话, 几乎所有语言皆如此),lua是严格区分大小写的

    7.块注释用--[[ 语句 ]], 行注释用-- , 无效的块注释:
    ----[[
    --]]

    8.lua的命令行用法:
    lua [options] [script [args]]
    如:
    lua -e "print(math.sin(12))", -e选项表示直接执行后面的语句

    9.lua -i -l a.lua -e "x = 10"
    含义:
    -i表示进入交互式, -l表示装入a.lua文件, 而-e则表示执行其后的语句. 所以连起来就是执行a.lua, 执行x=10, 然后进入交互状态

    10.通过: lua -i -e "_PROMPT='lua>'"的方式可以改变lua交互状态下的提示符

    11.lua的命令行参数用法:


    prompt> lua -e "sin=math.sin" script a b

    lua
    collects the arguments as follows:
        arg[-3] = "lua"
       
    arg[-2] = "-e"
       
    arg[-1] = "sin=math.sin"
       
    arg[0] = "script"
       
    arg[1] = "a"
       
    arg[2] = "b"

    arg是它的命令行参数表

    网友留言/评论

    我要留言/评论