lua语言初探
写在最前面
《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语言初探的更多相关文章
- Squirrel语言初探(可以使用VC6或者MinGW编译)
Squirrel语言初探 为啥我要关注Squirrel语言?原来Squirrel就很像我希望设计出的理想中的语言(当然也不完全符合).比如我觉得Lua的语法表述不清晰,累赘,于是想用C系语法来代替Lu ...
- 用VC编译lua源码,生成lua语言的解释器和编译器
用VC编译lua源码,生成lua语言的解释器和编译器 1.去网址下载源码 http://www.lua.org/download.html 2.装一个VC++,我用的是VC6.0 3.接下来我们开始编 ...
- 51CTO专访淘宝清无:漫谈Nginx服务器与Lua语言
http://os.51cto.com/art/201112/307610.htm 说到Web服务器,也许你第一时间会想到Apache,也许你会想到Nginx.虽然说Apache依然是Web服务器的老 ...
- 【quick-cocos2d-x】Lua 语言基础
版权声明:本文为博主原创文章,转载请注明出处. 使用quick-x开发游戏有两年时间了,quick-x是cocos2d-Lua的一个豪华升级版的框架,使用Lua编程.相比于C++,lua的开发确实快速 ...
- lua语言入门之Sublime Text设置lua的Build System
转自: http://blog.csdn.net/wangbin_jxust/article/details/8911956 最近开始学习LUA语言,使用Sublime Text作为编辑器,不得不说, ...
- 编译并使用Lua语言
Lua是一个小巧的脚本语言,该语言设计的目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. 可扩展性.Lua的扩展性非常卓越,可以通过Lua代码或C代码扩展,很多功能可以通过外部库来扩 ...
- Lua语言在Wireshark中使用(转)
1. 检查Wireshark的版本是否支持Lua 打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持 ...
- Unity进阶----Lua语言知识点(2018/11/08)
国内开发: 敏捷开发: 集中精力加班堆出来第一个版本 基本没啥大的bug 国外开发: 1).需求分析: 2).讨论 3).分模块 4).框架 5).画UML图(类图class function)(e- ...
- lua语言自学知识点----Lua与.Net相互调用
知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...
随机推荐
- Ubuntu14.04打开cheese却黑屏的问题
1.安装cheese 2.如发现cheese打开后,摄像头的灯亮了,但是没有图像,黑屏,且按钮都是不可操作状态,这时需要进行一下检测: a.lsusb,看是否有摄像头设备 b.ls /dev/vide ...
- JS模块化工具require.js教程(二):基本知识
前一篇:JS模块化工具我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,r ...
- DOM函数和jQuery函数的覆盖与执行顺序
<script type="text/javascript"> window.onload = function () { alert(); } window.onlo ...
- Vue.js环境配置
一.安装node.js 自行下载安装 https://nodejs.org/en/ 二.查看版本,更新版本 查看node版本 node --version 查看npm版本 npm --version ...
- Django积木块三——静态文件和上传文件
静态文件和上传的文件 # 静态文件 STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), ) # ...
- hightopo自己用开源的方案重构一遍
经过一年多的学习吧前面路上的坑基本算踩过一遍了 所以下面计划吧hightopo网站上的demo用自己的方式重新写一遍
- leecode第二天-使用异或找出数组中的非重复元素
leecode题目描述如下: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 思路: 最开始想到的是使用排序,排序之后就很容易找到非重复元素了. ...
- 深入理解JVM(一)——基本原理
前言 JVM一直是java知识里面进阶阶段的重要部分,如果希望在java领域研究的更深入,则JVM则是如论如何也避开不了的话题,本系列试图通过简洁易读的方式,讲解JVM必要的知识点. 运行流程 我们都 ...
- numpy中函数shape的用法
shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度.它的输入参数可以使一个整数表示维度,也可以是一个矩阵.这 ...
- 机器学习基石笔记:03 Types of Learning
原文地址:https://www.jianshu.com/p/86b2a9cef742 一.学习的分类 根据输出空间\(Y\):分类(二分类.多分类).回归.结构化(监督学习+输出空间有结构): 根据 ...