Lua 开发环境搭建 基本语法

news/2024/7/5 19:25:28 标签: cocos2d-lua
一、配置lua引擎包
lua引擎包安装配置,首先下载lua的引擎包,这里采用的是5.3.3版本,mac环境,然后解压缩到存放的地方,尽量不要中文路径,然后运行终端,cd进入该文件src目录,输入 make macosx 然后回车

1:首先下载最新版lua ,然后解压到你想解压到的位置 http:// www.lua.org/ftp/

2:运行终端,cd 进入该文件夹src目录下。 3:在终端输入 make macosx 然后点击回车。

4:cd 至根目录下(指你刚在下载文件的根目录),在终端输入make test 然后回车。

正常情况下会出现 scr/lua -v Lua 5.2.0 Copyright(C)1994-2011 Lua.org,PUC-Rio


5:然后输入命令: sudo make install ,然后要求输入密码,这个密码是 你的开机密码,如果没有直接回车。有的话,输入密码之后回车就自动安 装了。
6:安装完成后输入 lua -v 监测下是否出现 Lua 5.2.3 Copyright (C) 1994-2011 Lua.org, PUC-Rio
出现则安装成功。

二、IDE 开发环境的搭建
Lua的开发工具有多种,很多编辑器都支持Lua的开发,像Lua Development Tools, Sublime Text2 等工具。在此我们选择Sublime Text2来进行我们的开发。首先下载并 且安装SublimeText,此过程不再赘述,下面我们就来搭建一下开发环境。打开 SublimeText,在Sublime Text2 中选择:Tools->BuildSystem->New Build System。
输入:
{
"cmd": ["/usr/local/bin/lua", "$file"],


"file_regex": "^(...*?):([0-9]*):?([0-9]*)",


"selector": "source.lua"
}
将其保存为Lua.sublime-build, 之后重启Sublime Text 2,然后我们就可以进 行Lua的编译了。

新建文件myLua.lua,注意这里要新建文件并保存成.lua之后在向里面添加数据。 测试语句如下:
print("Hello".."World"),编译运行Command+ b,在下面能够正确的输出 HelloWorld,运行成功。 当然我们必须将编译系统选择为Lua。

三、Lua基础语法

1. 全局变量
给一个变量赋值之后即可创建全局变量,当且仅当一个变量不等于nil时,这个变量存在,删除全局变量只需此变量赋值为nil
print(b);   // b即为全局变量 为nil   这时候没有赋值,系统默认不存在此变量,
b = 10;
print(b);  // 赋值后 即为 10 

-- 单行注释 
--[[
     多行注释
          --]]
注意:大小写敏感 ,动态类型语言,变量不需要类型定义 
oc为运行时语言

2、八种数据类型
nil  空  
Boolean类型  false  true
Number  实数,整数,浮点型都属于number
String 字符串  lua8位字节 单引号,双引号均可表示
Userdata 用户数据类型
Function 函数类型
Thread    线程类型(如何使用多线程做异步加载界面)
Table  表类型

变量没有定义,可以是任意一种数据类型
lua中所有的值都可以做条件判断,除了nil和false其余均为真(0和空字符串也为真)

a = "one string";
x = string.gsub(a,"one","another");--string库函数,替换与参数相同部分返回一个字符串,字符串与数型之间相互转换
print(x);-- another string

lua自行进行内存分配和释放,转义字符也和c/c++保持一致  \ 
字符串与数字可以相互转化 
print("10"+1);--  输出11
print(“10" .. 1);--  输出101  字符串追加(加上空格,防止被解释错误)

3、逻辑运算符 and   or   not

a   and   b    —  如果a为false,则返回a,否则返回b
a   or   b    —  如果a为true,则返回a,否则返回b

4、多个值与多个变量匹配
a、变量数大于值个数,一一对应,没有的为nil
b、值个数大于变量数,多的值被忽略掉

5、for循环
for i=1,10 do
    print(i)
end  — 输出1到10




http://www.niftyadmin.cn/n/1785720.html

相关文章

Lua table表函数库

一部分的table函数只对其数组部分产生影响, 而另一部分则对整个table均产生影响. 下面会分开说明. table.concat(table, sep, start, end) concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以…

lua实现ipairs、pairs的功能

ipairs只能遍历以数字为下标的,而pairs则可以遍历各种下标(包括字符串) 其中的实现都仰仗闭合函数 function dieDaiQi(t)--实现ipairs的功能 local i 0return function ()i i1if i>#t then // 检测是否超出范围return nilendretu…

cocos2d-x 屏幕适配 策略

资源分辨率:表示我们的图片的分辨率。设计分辨率:表示我们设计的分辨率。可以这么认为,如果将我们的程序放到这个分辨率的设备上,那么我们的程序将完美显示。屏幕分辨率:实际屏幕的分辨率。getVisibleSize:…

Lua 初学者需要注意的地方

实现不定参数: ...需要用一个表来接收不定参数 table表可以通过下标运算符来获取值,但是下标从1开始lua文件实现读入数据: lua文件需要有 io.read() 在控制台到文件的路径下使用lua命令 lua 文件名 即可执行此文件封装:三个权限 继承…

lua 面向对象的实现及原理

--[[function func( ... ) -- 对于不定参数的使用local args {...}for k,v in ipairs(args) doprint(v)endendfunc(1,2,"ssa",6)]]---- 面向对象实现TSprite {x 0,y 0}-- 使用点操作符,需要显示的传参数selffunction TSprite.setPosition(self,x,y)se…

cocos2d-x 网络请求 Http

HTTP网络 http是短协议,登录注册用,socket是长连接战斗时用 https(更安全)加密传输,身份认证 get 与 post 的差异: void HelloWorld::HttpGetTest(){ HttpRequest * request new HttpRequest (); request->setUrl("http://42…

Quick 开发环境的搭建及基本语法

环境搭建首先应该认识到Quick是Lua的一个封装的插件,它实现了对lua的扩展与增强。到官网下载对应的Quick安装包,安装后就可以用它新建项目,它自带一个模拟器用来调试。如果想更改代码的话就要考虑响应的IDE了。IDE的选择我们采取的是sublime …