写在最前面

《cocos2d-x lua核心编程》是我首次购买电子书,坑的就不谈了,书里的代码部分基本上不是少空格就是多换行,让阅读变得十分困难。

所以又购买了实体书,加上看一些大佬视频和博客,这才慢慢步入正轨,当然我的lua水平不高,仅作为游戏开发的工具,写这一系列的博客,希望能够让又同样想法的朋友少走弯路。

简介安装什么就不说了。

Lua的代码规范

  - Lua的多条语句之间并不要求任何分隔符,如C语言的 ";",换行符也同样不能起到语句的分割作用。

a =1
b= 2*a
a=1 b=2*a

  - 通过dofile()方法引用其他Lua文件中的函数.

dofile(D:/test.py)

  -变量命名规范:

    由数字字母下划线构成,但是不能数字和下划线开头

  - lua的注释

    单行注释:

-- 这是注释

    多行注释:

--[
这是注释
]--

lua的基本数据类型

lua是一种动态类型的语言,其语言本身没有提供类型定义的语法,每个值都携带了它自身的类型信息。在lua中有8中基础类型,分别为

nil,boolean,number,string,userdata,function,thread和table。变量的类型信息可以通过type函数获得。

nil:

  nil就是空,它只有一个值nil,它的主要功能是由于区别其他任何值。一个全局变量在第一次赋值前的默认值就是nil。

boolean:

布尔类型,包括两个值,true和false,在lua中只有当值是false和nil时才为假,其他时候都为真。

number:

数字,用于表示实数。

string:

lua中的字符串代表的是一个字符序列,修改字符串得到的是新的字符串。

table:

lua中table类型视为关联数组,就像c++中的map,差别是lua中的table的键是可以为除nil外的任何类型,没有长度限制,可任意添加。

function:

在lua中,函数可以存储在变量中,可以通过参数传递其他函数,还可以作为函数的返回值。

userdata:

lua的自定义类型。

表达式

1,算术操作符

  lua的算术操作符为常规的,有+,-,*,/,%()取模等。

2,关系操作符

  >=,<=,==,~=

3,table构造器

  构造器用于构建和初始化table,构建空构造器。

days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
for i = ,#days do
print(days[i])
end
--输出结果为
--Sunday
--Monday
--Tuesday
--Wednesday
--Thursday
--Friday
--Saturday

语句

1,赋值语句

  lua中赋值语句和python基本相同,支持解构赋值。

2,局部变量与块

  局部变量通过local i = n 进行定义。

 while i <= x do
local x = i *
print(x)
i = i +
end

3,控制语句

  - if ...then...else

    if a <  then
b =
else
b =
end

  - if ...elseif...then...else

    if a <  then
b =
elseif a == then
b =
else
b =
end

  - while ..do..

    local i=
while a[i] do
print(a[i])
i = i +
end

  - repeat...until,相当于 do while

  - for,在lua中,分为泛型for循环和数字型for循环,数字型for循环相当与python中的 for i in range (1,3,1),泛型for循环就是遍历数组或者table等。

    for var = begin, end, step do --如果没有step变量,begin的缺省步长为1。
i = i +
end

函数

1,lua中的函数接收不同长度的参数,在函数定义的()协商。。。

2,在lua中,函数和其他所有值一样都是匿名,即它们都没有名称。在使用时都是操作该函数的变量 ,操作时都是操作持有该函数的变量。

function foo(x)
for i in var=, do
i=i+
end
end

lua语言初探的更多相关文章

  1. Squirrel语言初探(可以使用VC6或者MinGW编译)

    Squirrel语言初探 为啥我要关注Squirrel语言?原来Squirrel就很像我希望设计出的理想中的语言(当然也不完全符合).比如我觉得Lua的语法表述不清晰,累赘,于是想用C系语法来代替Lu ...

  2. 用VC编译lua源码,生成lua语言的解释器和编译器

    用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...

  3. 51CTO专访淘宝清无:漫谈Nginx服务器与Lua语言

    http://os.51cto.com/art/201112/307610.htm 说到Web服务器,也许你第一时间会想到Apache,也许你会想到Nginx.虽然说Apache依然是Web服务器的老 ...

  4. 【quick-cocos2d-x】Lua 语言基础

    版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...

  5. lua语言入门之Sublime Text设置lua的Build System

    转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...

  6. 编译并使用Lua语言

    Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 可扩展性.Lua的扩展性非常卓越,可以通过Lua代码或C代码扩展,很多功能可以通过外部库来扩 ...

  7. Lua语言在Wireshark中使用(转)

    1.       检查Wireshark的版本是否支持Lua 打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持 ...

  8. Unity进阶----Lua语言知识点(2018/11/08)

    国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...

  9. lua语言自学知识点----Lua与.Net相互调用

    知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...

随机推荐

  1. 基于模型的特征选择详解 (Embedded & Wrapper)

    目录 基于模型的特征选择详解 (Embedded & Wrapper) 1. 线性模型和正则化(Embedded方式) 2. 基于树模型的特征选择(Embedded方式) 3. 顶层特征选择算 ...

  2. 基于jmeter的性能测试平台(一)分布式jmeter搭建

    (1)概述 一台windows虚拟机作为controller,3台Linux虚拟机作为agent. 第一步是在所有虚拟机上安装JDK,版本最好是一样的,然后就是下载安装jmeter,网上资料很多这里不 ...

  3. 虚拟机安装+配置federa

    安装 安装好后发现鼠标卡卡的,在虚拟机的显示设置里面启用3D加速: 配置 查看 显卡信息:lspci |grep VGA 测试显卡驱动:glxgears 安装必要软件 安装右键打开终端:sudo yu ...

  4. OOP随笔

    父类为普通类: 内部可声明虚方法(virtual),并包含代码实现,子类中可以重写(override),也可以不重写直接用. 父类为(不可实例化的)抽象类: 可声明虚方法,同上. 也可以声明抽象方法( ...

  5. Key Technologies Primer 读书笔记,翻译 --- Struct 学习 1

    原文链接:https://struts.apache.org/primer.html 本来想写成读书笔记的,结果还是变成翻译,谨作记录,学习.   1.HTML -- 见我前面文章 2.Interne ...

  6. ZJOI2019一试游记

    ZJOI2019一试游记 Day -2 早上颓刀剑,中午赶动车,写一会儿作业,下午赶车到酒店,发现跟杭二的巨佬一个酒店qwq 本来想测试一下我在人群中大叫一声ljc1301 AK ZJOI2019会有 ...

  7. python异常报错详解

    异常BaseException所有内置异常的基类.它不是直接由用户定义的类继承(为此使用Exception).如果 str()或者unicode()是在这个类的一个实例上被调用,返回实例的参数表示形式 ...

  8. django项目微博第三方登录

    此处咱们用到的是 social_django,所以要把此应用注册到配置文件中, INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.a ...

  9. Git使用详细教程(6):git mv重命名文件

    与使用git rm类似,Git还提供了重命名文件的命令git mv,我们可以通过该命令重命名文件. 如下图,git mv包含了以下动作

  10. c++模板参数——数值类型推断

    模板类中,或模板函数中,若限定模板参数为数值类型,可以使用如下方式进行判断. template<typename T> Fmt::Fmt(const char *fmt, T val) { ...