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.== :等于 ~= :不等于 < 小于 >大于 <=小于等于 >=大于等于

  1. and并且 or 或者

四、控制结构

Lua 复制代码
(while)
index = 1
while index < 10 do
    print(index)
    index = index + 1
end

(repeat)
index = 1
repeat
    print(index)
    index = index + 1
until index > 10

(if)
a = 5
b = 10
if (a < b) then
    printf("a < b")
end

(for)
--这个for循环默认的增加量是1
for index = 1 , 10 do
    printf(index)
end

--这个for循环每次的增加量是2 开始时是1第二次是1+2第三次是1+2+2
for index = 1 , 10 , 2 do
    print(index)
end

(break)
for index = 1, 100 do
    if index == 52 then
        print("index == 52")
        break
    end
end

五、函数

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

六、字符串

Lua 复制代码
--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

Lua 复制代码
-- 假设
-- 创建一个表添加100个元素
myTable = {}
for index = 1 , 100 do
    myTable[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) do
            print(index,value)    
        end
方式二、for index , table.getn(myTable) do
            print(index,myTable[index])
        end
相关推荐
阿里嘎多学长6 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
布吉岛的石头6 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!7 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc7 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
昂好的day8 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
努力实干9 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
NetX行者11 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言
Pin_Qing12 小时前
账单没超,请求先被拒了
大数据·开发语言·人工智能
2601_9628857212 小时前
如何用 Python 计算 VaR 和 CVaR(在险价值)?
开发语言·python
郝亚军12 小时前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构