科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Lua入门系列----pil学习笔记之Getting Start

Lua入门系列----pil学习笔记之Getting Start

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

多高深的人物都说过类似的话:"语言层面的东西, 都是表面的东西, 最核心的是设计模式, 是算法", 我完全赞同这句话,

作者:大宝 来源:CSDN 2008年3月26日

关键字: 系列 入门 LUA 开源

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

前面写过的孔乙己系列, 是以底层的眼光看阳春白雪的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是它的命令行参数表
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章