【Redis 开发】Lua语言

Lua

Lua语法

Lua是一种小巧的脚本语言,底层用C语言实现,为了嵌入式应用程序中

官网:https://www.lua.org/

创建lua文件
touch hello.lua

运行lua文件
lua hello.lua

  • 输出语句
lua 复制代码
print("Hello World!")
  • 数据类型

可以通过type函数测试变量的或值的数据类型

lua 复制代码
print(type("hello world"))
  • 声明变量

Lua声明变量的时候,并不需要指定数据类型:

lua 复制代码
-- 声明字符串
local str='hello'
-- 拼接字符串
local str='hello' .. 'world'
-- 声明数字
local num=12
--声明数组key为索引的table
local arr= {'java','pyhthon','lua'}
-- 声明table,类似java的map
local map= {name='Jack',age=12}

访问table:

lua 复制代码
-- 访问数组,lua数组的角标从1开始
print(arr[1])
--访问table
print(map['name'])
print(map.name)
  • 循环
lua 复制代码
--遍历数组
for index,value in ipairs(arr) do
     print(index,value)
 end
lua 复制代码
--遍历table
for key,value in pairs(map) do
    print(key,value)
 end
  • 函数

定义函数的语法:

lua 复制代码
function 函数名(参数)
     --函数体
     return 返回值
end

例如:定义一个函数,用来打印数组

lua 复制代码
function dayin(arr)
   for index,value in ipairs(arr) do
      print(value)
    end
end
  • 条件控制
lua 复制代码
if(布尔表达式)
then 
   -- 为true时执行该部分
else 
   -- 为false时执行该部分
end

在lua表达式中逻辑运算是基于英文单词的:

相关推荐
钟智强7 天前
CVE-2025-49844高危预警:Redis Lua脚本引擎UAF漏洞深度剖析与POC实战
数据库·redis·web安全·junit·lua
闲人编程7 天前
聚合管道与复杂查询
开发语言·oracle·lua·match·查询·聚合·lookup
会周易的程序员8 天前
cNetgate物联网网关内存数据表和数据视图模块架构
c语言·c++·物联网·架构·lua·iot
会周易的程序员10 天前
cNetgate插件架构设计详解 动态库 脚本二开lua, python, javascript
javascript·c++·python·物联网·lua·iot
白太岁13 天前
Redis:(3) Lua 与 Redis、基于连接池的 Facade 模式封装
数据库·c++·redis·lua·外观模式
Maguyusi18 天前
go 批量生成c++和lua proto文件
c++·golang·lua·protobuf
foxsen_xia18 天前
Kamailio通过Lua写路由
开发语言·lua·信息与通信
码农周21 天前
nginx + Lua 实现域名访问日志统计
nginx·lua
難釋懷22 天前
Lua脚本解决多条命令原子性问题
开发语言·lua
AI_567825 天前
Postman接口测试提速技巧:批量请求+智能断言实践
测试工具·lua·postman