lua语法——基础知识总结

一、变量

1.简单变量类型

nil number string boolen

2.复杂变量类型

函数 function

表table

数据结构 userdata

协同程序 Thread

二、字符串操作

1.获取字符串长度 #

2.字符串多行打印 \n

3.字符串拼接 ..或%d数字

%a任何字符

%s字符

4.字符串的公共方法

小写转大写:string.upper()

大写转小写:string.lower()

反转字符串:sting.reverse()

查找:string.find()

重复打印两次:string.rep()

修改;string.gsub()三个参数,第一个参数,所传字符串,第二个参数,修改的字符,第三个参数, 修改成什么

转ASCII码:string.byte()

ASCII码转字符:string.char()

三、运算符

1.算数运算符:没有++.--也没有复合运算符

2.条件运算符:~=是不等于

3.逻辑运算符:与and 或:or 非:not

4.不支持位运算符

5.不支持三目运算符(c#中的?:)

四、条件分支语句

if a>5 then

else

end

五、循环

1.while循环

num=0

while num<5 do

end

2.do while 循环(lua中是repeat)

num=0

repeat

print(num)

num=num+1

until num>5

(注:满足条件就跳出,c#中,满足条件就进入)

3.for循环

for i=1,5 do

print(i)

end(从1开始打印到5结束)

第三个参数默认自增1

六、函数

1.有参无返回

function F1(a)

print(a)

end

2.无参有返回

function F2(a)

return a,"123",true

end

temp,temp2,temp3=F2("1)

打印出1,"123",true

3.lua不支持重载,默认调用最后一个声明的函数

4.函数嵌套

lua闭包

function F5(x)

return function(y)

return x+y

end

end

(外部参数在内部函数中存在改变了其生命周期)

七、迭代器遍历

1.ipairs只能挨个遍历

for i,k, in ipairs(a) do

print()

end

2.pairs可以遍历去全部

八、表实现类

Student ={age=1.

set=true,Up=function()

print()

end}

直接点出来使用 print(Student.age)相当于里面是age是个静态变量

Student.Up()

1、语法糖

Student:Up(),冒号的意思是默认把调用者传入方法中

==Student.Up(Student)

2.print(self),默认表示第一个参数

九、表的公共操作

1.插入

table.insert(t1,t2)

2.删除指定元素

table.remove() 移除的是最后一个

table.remove(t1,1) 第二个参数是要移除第几个

3.排序

table.sort() 默认升序

4.拼接

table.cancat()

相关推荐
Tanjia_kiki18 分钟前
谷歌浏览器中F12编辑并重发请求
开发语言·前端·javascript
程序猿编码20 分钟前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型
传奇开心果编程1 小时前
【Rust入门知识点学与练】第5课:函数
开发语言·学习·rust
秋田君1 小时前
Qt_QMediaPlayer类与QMediaPlaylist类
开发语言·qt
统计学小王子1 小时前
数学建模国赛倒计时6天——《软件工具(R语言精讲)》
开发语言·数学建模·r语言
C++ 老炮儿的技术栈1 小时前
Qt5 使用 QPainter 绘制阿基米德螺线
开发语言·c++·windows·qt·代码化
EasyGBS1 小时前
从接入到稳定播放:无插件直播H5视频流媒体播放器EasyPlayer.js如何撑起Web端流媒体
开发语言·前端·javascript
FfHUCisI1 小时前
GMP 调度器:Go 并发的心脏是如何跳动的
开发语言·golang·php
Java小白笔记2 小时前
Java 实现阿里云 OSS 文件上传链路:普通上传、秒传、分片与断点续传
java·开发语言·数据库·spring·阿里云
传奇开心果编程2 小时前
【Rust入门知识点学与练】第9课:Vec 动态数组
开发语言·学习·rust