当前位置: 首页 > web >正文

Lua现学现卖

一、Lua的变量类型

        全局变量:MyVar

        局部变量:local MyVar

二、Lua的数据类型

        1.nil:一个空值 类似C++的nullptr

        2.Boolean:true/false 类似C++的bool

        3.string:字符串 类似C++的std::string

        4.Number:数字 类似C++的double 在Lua中值都是双精度没有int

        5.table:一个表存放数据,可以是不同类型的数据

三、运算符

        1.+ - * /

        2.== :等于   ~= :不等于  < 小于  >大于  <=小于等于  >=大于等于

        3. and并且  or 或者

四、控制结构 

(while)
index = 1
while index < 10 doprint(index)index = index + 1
end(repeat)
index = 1
repeatprint(index)index = index + 1
until index > 10(if)
a = 5
b = 10
if (a < b) thenprintf("a < b")
end(for)
--这个for循环默认的增加量是1
for index = 1 , 10 doprintf(index)
end--这个for循环每次的增加量是2 开始时是1第二次是1+2第三次是1+2+2
for index = 1 , 10 , 2 doprint(index)
end(break)
for index = 1, 100 doif index == 52 thenprint("index == 52")breakend
end

五、函数

function FunctionName(par1,par2,...)print("函数体")
end
在Lua的函数中可以没有参数使用...替代
function FunctionName(...)--可以通过arg.n来获得变量的个数 这个arg是一个table表用来存储所有的变量 Lua自己生成的表不用手动生成print("")
end

六、字符串

--tonumber将字符串转换成数字
myString = "1234"
myNumber = tonumber(myString)--tostring将数字转换成字符串
myNumber = 1234
myString = tostring(myNumber)--string.len获得字符串的长度
myString = "1234"
print(string.len(myString)) --4--string.sub(myString , start , end)
myString = "Hello World"
newString = string.sub(myString , 1 , 5)
print(newString) -- Hello

 七、表Table

-- 假设
-- 创建一个表添加100个元素
myTable = {}
for index = 1 , 100 domyTable[index] = math.random(1,1000)
end-- table.getn(myTable) 获得表的大小
print(table.getn(myTable))--table.insert(myTable,position,value) 在表中的指定位置插入一个值
table.insert(myTable,20,"Hello World") -- 在表的第25位置处插入字符串"Hello World"--table.ramove(myTable,position) 移除表指定位置的元素
print(table.ramove(myTable,20))-- pairs 可以用于遍历table中的每个元素
方式一、for index , value in pairs(myTable) doprint(index,value)    end
方式二、for index , table.getn(myTable) doprint(index,myTable[index])end

http://www.xdnf.cn/news/14805.html

相关文章:

  • DOP数据开放平台(真实线上项目)
  • 电商返利APP架构设计:如何基于Spring Cloud构建高并发佣金结算系统
  • OpenLayers 下载地图切片
  • 解决cursor无法下载插件等网络问题
  • vue-29(创建 Nuxt.js 项目)
  • 从用户到权限:解密 AWS IAM Identity Center 的授权之道
  • 给定一个没有重复元素的数组,写出生成这个数组的MaxTree的函数
  • TDengine 如何使用 MQTT 采集数据?
  • lambda、function基础/响应式编程基础
  • [论文阅读] 软件工程 | 微前端在电商领域的实践:一项案例研究的深度解析
  • NLP中的同义词替换及我踩的坑
  • 创客匠人视角:创始人 IP 打造为何成为知识变现的核心竞争力
  • 【算法深练】单调栈:有序入栈,及时删除垃圾数据
  • 鸿蒙5:组件监听和部分状态管理V2
  • 为何需要防爆平板?它究竟有何能耐?
  • 【龙泽科技】新能源汽车故障诊断仿真教学软件【吉利几何G6】
  • 学习使用dotnet-dump工具分析.net内存转储文件(2)
  • vue-28(服务器端渲染(SSR)简介及其优势)
  • 舵机在不同类型机器人中的应用
  • Python 数据分析与可视化 Day 10 - 数据合并与连接
  • Linux的top指令CPU占用率详解(白话版)——Linux进阶常用知识点
  • 网络缓冲区
  • uni-app项目实战笔记26--uniapp实现富文本展示
  • 展开说说:Android之ContentProvider源码浅析
  • 机器学习算法-K近邻算法-KNN
  • Linux tcp_info:监控TCP连接的秘密武器
  • Day44 预训练模型
  • OpenCV图像添加水印
  • Python 数据分析与可视化 Day 9 - 缺失值与异常值处理技巧
  • 秘窟燃战.纷魄凌霄(第二集)