甘肃省建设厅质量投诉网站,绞铜机 东莞网站建设,娄底网站seo,英文的购物网站基本语法
注释
print(“script lua win”) – 单行注释
– [[ 多行注释 ]] –
标识符
类似于#xff1a;java当中 变量、属性名、方法名。 以字母#xff08;a-z,A-Z#xff09;、下划线 开头#xff0c;后面加上0个或多个 字母、下划线、数字。 不要用下划线大写字母…
基本语法
注释
print(“script lua win”) – 单行注释
– [[ 多行注释 ]] –
标识符
类似于java当中 变量、属性名、方法名。 以字母a-z,A-Z、下划线 开头后面加上0个或多个 字母、下划线、数字。 不要用下划线大写字母保留字。总结按照正常思维命名即可。
全局变量 数据类型
nil
没有任何有效值就是一个 nil。 删除的作用。全局变量和table。 类似于null type表示数据类型
boolean
false(false\nil都是false) true其他都为true包括0。
number
双精度8个字节。
String
字符串用单引号或双引号来表示。 用 [[可以换行的字符串 ]] 字符串和数字进行数学运算优先将 字符串 转 成 数字。 字符串连接 计算字符串长度
table
类比成java中的数组map链表队列等。 … 是字符串拼接使用的
function
阶乘 匿名函数
变量
先声明后使用。 三种类型全局变量默认局部变量作用范围从声明开始到所在的语句块结束表中的域
局部变量 local
变量赋值 索引
对table中元素的访问。 tab[“key”] tab.key
循环
用途做一些有规律的重复操作。 循环体一组被重复执行的语句。循环条件判断能否继续循环
while循环
while(循环条件)
do
业务代码
对循环条件的控制
endfor循环
数值for循环
for varexp1,exp2,exp3 do 循环体 end var的值从exp1一直到exp2,步长是exp3(是可选的默认是1)
泛型for循环
是通过迭代器进行的。
repeat until
repeat
循环体
until(条件)
先执行循环体直到满足条件。如果条件为false继续执行循环体如果条件为true则跳出循
环。流程控制
if() 0 是 true。
函数
函数定义 功能1。完成指定的任务。2。计算并返回值可以返回多个值。例如print()
函数的范围local 缺省
function 函数名称(参数列表)
函数体
return 结果
end多值返回
lua中索引是从1开始的
可变参数
平均数 如何确定可变参数的数量 用#
运算符
算术运算符 加
- 减
* 乘
/ 除
% 取余
^ 乘幂
- 负号关系运算符 等于。
~不等于大于小于大于等于小于等于逻辑运算符
and
or
not
其他运算符
.. 连接符
# 计算字符串或者 表 的长度。数组
数组相同元素的集合。 索引用整数表示从1开始。
迭代器
泛型 for 迭代器
a {a,b,c}
for k,v in pairs(a)
doprint(k,v)
end
print(----------------)
a {a,b,c}
for k,v in ipairs(a)
doprint(k,v)
endpairs会遍历所有key和值。 ipairs只会从1开始步长是1中间不是数字作为key的元素会被忽略一直到第一个不连续的数字索引为止不含。适合遍历数组。
for迭代器的结构
for 变量列表 in 迭代函数 状态常量控制变量
do
循环体
endtable
a {key1“a”,key2“b”} 不能用nil做索引。
模块
模块的定义 从lua5.1开始引入了模块机制把一些公用的代码放到文件中通过api的方式让其他程序调用这个文件就是一个模块。 类似于java中的jar包。 lua中的模块其实是一个table由 变量、函数等已知的 lua元素组成。最好在模块的结尾需要返回一个table。
如何编写模块
require函数使用模块
require(“模块名”) require “模块名”