Lua基础语法(详情可查看Lua程序设计.chm) | ||
保留字(每个都有单独含义) | and break do else elseif end false for function if in local nil not or repeat return then true until while |
|
注释(注释后代码不会执行) | 单行注释:–
多行注释:–[[ –]] |
如下: –[[ print(10) — no action (comment) –]] |
Nil(空值) | Lua中特殊的类型,他只有一个值:nil;一个全局变量没有被赋值以前默认值为nil;给全局变量负nil可以删除该变量。 | |
Booleans(布尔值) | 两个取值false和true。但要注意Lua中所有的值都可以作为条件。在控制结构的条件中除了false和nil为假,其他值都为真。所以Lua认为0和空串都是真。 | |
Numbers(数值) | 表示实数,Lua中没有整数。一般有个错误的看法CPU运算浮点数比整数慢。事实不是如此,用实数代替整数不会有什么误差(除非数字大于100,000,000,000,000)。Lua的numbers可以处理任何长整数不用担心误差。你也可以在编译Lua的时候使用长整型或者单精度浮点型代替numbers,在一些平台硬件不支持浮点数的情况下这个特性是非常有用的,具体的情况请参考Lua发布版所附的详细说明。 | 和其他语言类似,数字常量的小数部分和指数部分都是可选的,数字常量的例子:
4 0.4 4.57e-3 0.3e12 5e+20 |
Strings(字符串) | 指字符的序列。lua是8位字节,所以字符串可以包含任何数值字符,包括嵌入的0。这意味着你可以存储任意的二进制数据在一个字符串里。Lua中字符串是不可以修改的,你可以创建一个新的变量存放你要的字符串 | 如下:
a = “one string” print(a) –> one string |
Functions(函数) | 函数是第一类值(和其他变量相同),意味着函数可以存储在变量中,可以作为函数的参数,也可以作为函数的返回值。 | 如下:
function 函数名(human) |
算术运算符 | 二元运算符:+ – * / ^ (加减乘除幂)
一元运算符:- (负值) 这些运算符的操作数都是实数。 |
|
关系运算符 | < > <= >= == ~=
这些操作符返回结果为false或者true;==和~=比较两个值,如果两个值类型不同,Lua认为两者不同;nil只和自己相等。Lua通过引用比较tables、userdata、functions。也就是说当且仅当两者表示同一个对象时相等。 |
a = {}; a.x = 1; a.y = 0
b = {}; b.x = 1; b.y = 0 c = a a==c but a~=b |
逻辑运算符 | and or not
逻辑运算符认为false和nil是假(false),其他为真,0也是true. and和or的运算结果不是true和false,而是和它的两个操作数相关。 a and b — 如果a为false,则返回a,否则返回b a or b — 如果a为true,则返回a,否则返回b |
例如:
print(4 and 5) –> 5 print(nil and 13) –> nil print(false and 13) –> false print(4 or 5) –> 4 print(false or 5) –> 5 |
连接运算符 | .. –两个点
字符串连接,如果操作数为数字,Lua将数字转成字符串。 |
print(“Hello ” .. “World”) –> Hello World
print(0 .. 1) –> 01 |
优先级 | 从高到低的顺序: ^ not – (unary) * / + – .. < > <= >= ~= == and or |
|
表的构造 | 构造器是创建和初始化表的表达式。表是Lua特有的功能强大的东西。最简单的构造函数是{},用来创建一个空表。 | 可以直接初始化数组:
days = {“Sunday”, “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”} print(days[4]) –> Wednesday |
赋值语句 | 赋值是改变一个变量的值和改变表域的最基本的方法。 | a = “hello” .. “world”
t.n = t.n + 1 |
局部变量与代码块 | 使用local创建一个局部变量,与全局变量不同,局部变量只在被声明的那个代码块内有效。代码块:指一个控制结构内,一个函数体,或者一个chunk(变量被声明的那个文件或者文本串)。 | x = 10
local i = 1 — local to the chunk while i<=x do local x = i*2 — local to the while body print(x) –> 2, 4, 6, 8, … i = i + 1 end |
控制结构语句(if语句) | 控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,其他值为真。 | if conditions then
then-part end; if conditions then then-part else else-part end; |
break和return语句 | break语句用来退出当前循环(for、repeat、while)。在循环外部不可以使用。
return用来从函数返回结果,当一个函数自然结束时,结尾会有一个默认的return。 Lua语法要求break和return只能出现在block的结尾一句。 |
例如:
local i = 1 while a[i] do if a[i] == v then break end i = i + 1 end |
函数定义 | 函数有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用;2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。 | 语法:
function func_name (arguments-list) statements-list; end; |
函数调用 | 调用函数的时候,如果参数列表为空,必须使用()表明是函数调用。 | print(8*9, 9/8)
a = math.sin(3) + math.cos(10) print(os.date()) |
龙途传奇lua基础语法
广告
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关;
2、本站所有主题由该帖子作者发表,该帖子作者与本站享有帖子相关版权;
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和的同意;
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任;
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责;
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意;
请登录之后再进行评论
登录
关注11
粉丝1268
喜欢122
内容2112
-
热门排行
- 周
- 月
- 日
1三网H5游戏【联盟三国H5超变内购版】最新整理Linux手工服务端+多区跨服+打包工具+管理后台+CDK授权后台+安卓+详细搭建教程2XO三端引擎传奇手游【经典1.76比奇传奇】最新整理Win系服务端+PC安卓苹果三端+加密工具+详细搭建教程3CSOL2014-SGP已汉化,win一键端,不限制,不和谐,可单机可联机可加bot4梦幻诛仙之六大陆打金团购14职业版本-附带攻略 2025年1月6日最新 Linux服务端源码视频架设教程5口袋觉醒宝可梦之口袋嘉年华 2024年5月26日最新打包Ubuntu服务端源码视频架设教程6唯美3D仙侠手游【天地决】注册提示此服已关闭注册解决办法7稀有卡牌回合手游【至尊-放开那三国白金版】最新整理单机一键即玩镜像端+Linux手工服务端+安卓苹果双端+CDK授权后台+详细搭建教程8阿拉德之情怀之深渊勇士阿拉德3.0-配套源码 2025年1月1日最新-打包Linux服务端源码视频架设教程-GM总运营WEB管理后台-新版多功能GM授权后台9典藏Q版玄幻武侠页游【问仙】最新整理Win一键服务端+GM指令+详细外网搭建教程10传奇端游-遗迹之城-翎风引擎-沉默三职业-连击多技能
1Unity手游《龙之谷舞娘版》全套源码2Kiếm Thế Mobile 20093光芒破解全套,300买的,没弄明白,谁会弄自己研究下4手游《大战国》Linux手工端S1+安卓+运营后台5三网H5游戏【联盟三国H5超变内购版】6月最新整理Linux手工服务端+多区跨服+打包工具+管理后台+CDK授权后台+安卓+详细搭建教程+视频教程6三端传奇手游,山神复古。188买的。分享下7闪耀ZG 异能宝石新篇 千流道+海神唐三再现+吕布英姿+火影传奇.. linux 手工端 + 文字教程 + 安卓apk8稀有二次元卡牌回合手游【宝石新异能蚩尤李白6.5万级内购版】Linux手工服务端+安卓+多区跨服+自定义英雄+自定义符文+GM授权后台9XO三端引擎传奇手游【龙腾九州攻速小极品三职业打金版】最新整理WIN系特色服务端+PC安卓苹果三端互通+详细搭建教程10XO三端引擎传奇手游【我本沉默经典版】最新整理Win系服务端+PC安卓苹果三端+加密工具+详细搭建教程
谢谢分享学习下
666