关闭

Lua学习笔记(一)

标签: lua脚本语言游戏开发lua基础lua语法
270人阅读 评论(0) 收藏 举报
分类:

这是我的第一篇正式博文,献给Lua。

接触Lua是因为我们的项目要使用Cocos2dx-lua引擎。初探Lua,感觉和C语言有些类似,这是一个脚本语言,功能强大,非常适合做游戏开发。有C语言的基础,学起来难度应该不算大。

Lua语言的语句是不需要分隔符做结尾的,如果都写在一行,最好能添加分号,便于理解。在Lua中,注释使用两个横线“–”,注释块使用“–[[”为头,“]]”为尾。

注释的技巧:结尾使用“–]]”,这样启用这块代码,只需在开头加横线即可。举例:

--[[
a=1
b=2
--]]

这块代码将两个变量都注释了,如果需要启用它们,只需改成:

---[[
a=1
b=2
--]]

这样首尾两行均被注释,代码可以使用了,下次想再次注释就删掉一个横线,不必做无用功。

Lua标识符可以是数字,字母和下划线,但是不能以数字开头。Lua有一个和null类似的东西,叫做nil,所有未初始化的变量,print出来就是nil,表示“空”。若要删除全局变量,只需赋值nil即可。

关于类型,Lua中使用了一个非常强大的东西——table,它是Lua的灵魂所在。学好table是很重要的。table是一种对象,可以动态添加内容,没有固定大小,通过构造表达式来创建,比如“{}”:tbl={},则tbl为lua的table。如果table中的变量没有初始化,则打印出来的就是nil。table报矿两个部分组成:key和value,可以key=value的形式不断添加成员。存储和读取的时候有多种方法,我们来看例子:

tbl = {}
tbl["x"] = 1
tbl.y = 5
tbl[6] = z

--现在,我们的tbl构成为:tbl={x=1,y=5,6=z},索引key在等号左边,值value在等号右边

print(tbl.x, tbl["y"], tbl[6])

--输出1  5  z

应该注意的是,和C不同,Lua用table表示的数组通常以1为起始索引,table操作:table.maxn(tbl)可以返回tbl的最大正索引数。

此外,Lua的函数部分也是重点,function在lua中也是极为灵活的。这一块在后续笔记中详细总结。下一次,我们将继续讨论Lua的语法部分,学习操作符和语句。

0
0
查看评论

Lua学习笔记(1):简单入门

前言:在 jetson TX1 上安装 torch 的时候,安装了 LUA。 原因:github 上很多神经网络(例如我想用的RNN,lstm等),用的是torch框架,而torch主要得益于一个简单、快速的脚本语言LuaJIT,和底层的C。 结果:需要学习一下LUA语言。 LUA环境安装: ...
  • moses1994
  • moses1994
  • 2017-03-23 12:02
  • 448

Cocos2d-lua学习笔记之场景跳转

Cocos2d-lua学习笔记
  • dl15600383645
  • dl15600383645
  • 2015-06-19 09:34
  • 1629

Ionic3学习笔记(一)

(一)ionic3环境准备:    1.安装Node.js(安装之后执行node -version检查是否安装成功)     2.安装npm。  命令:npm install npm -g      3.安装 io...
  • Dan_2017
  • Dan_2017
  • 2017-11-28 21:46
  • 153

C++/GDI+ 学习笔记(一)——安装、配置&使用

使用GDI+很简单。需要做的有一下几个步骤。1.       安装GDI+ SDK开发包。网上很多地方都有下载。解压到一个地方即可。2.       设置编译器的包含路径,VC6的...
  • eplanet
  • eplanet
  • 2007-10-09 09:11
  • 9164

Lua学习笔记1

今天上班的时候和程序对一个功能的程序接口,需求是这样的:脚本代码根据配置文件生成一组中奖信息,用table来保存,然后将这个table传给程序接口,程序根据这个table中的数据向玩家显示中奖界面。很简单的一个功能,脚本这边的函数很快就写完了,然后我就琢磨着程序的接口应该怎么写,由于之前没有试过在程...
  • yanjun_1982
  • yanjun_1982
  • 2012-05-23 22:22
  • 8798

Robot Framework 学习笔记(一)

序为了更好的适应工作,提前开始准备学习内容,按照个人学习进度进行阶段性总结,Robot Framework属于自动化测试框架,本文基于Windows7系统进行相关软件安装讲解。安装过程第一步: Python下载地址 https://www.python.org/downloads/ 选择2.7版...
  • xinyu913
  • xinyu913
  • 2016-04-11 17:03
  • 638

lua 学习笔记 一

1.1 一个程序块就是一连串的语句或命令 几条连续的lua语句之间不需要分隔符,但用分号来分隔语句也是合法的。 退出lua解释器交互模式使用os。exit(); 使用-i参数启动lua解释器,解释器会在运行完指定程序后进入交互模式 使用dofile运行程序块 1,加载lua程序 ...
  • u010792888
  • u010792888
  • 2015-05-25 12:04
  • 134

UNP卷一学习笔记:I/O模型

UNIX下可用的5种I/0模型: (1)阻塞式I/O   (2)非阻塞式I/O   (3)I/O复用   (4)信号驱动I/O(SIGIO)    (5)异步I/O 前4种属于同步操作,第5种属于异步操作。 下...
  • u014557232
  • u014557232
  • 2016-03-19 14:25
  • 320

Lua 学习笔记(一) ——入门

在这篇文章中,我想向大家介绍如何进行Lua程序设计。我假设大家都学过至少一门编程语言,比如Basic或C,特别是C。因为Lua的最大用途是在宿主程序中作为脚本使用的。   Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   在Lua中,一切都是变量,除了关键字。请记住这句话。 I...
  • u012086167
  • u012086167
  • 2014-10-13 13:54
  • 526

Lua学习笔记(一)

1.a = io.read("*number"),使用固定参数"*number"来读取数字 2.几条连续的Lua语句之间并不需要分隔符,但如果愿意,也可以使用分好来分隔语句。也就是说     a = 1 b = a*2   ...
  • zzh0923
  • zzh0923
  • 2013-10-15 14:07
  • 449
    个人资料
    • 访问:34997次
    • 积分:568
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:0篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论