【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表达式中逻辑运算是基于英文单词的:

相关推荐
小的~~1 小时前
面试被问懵了?为什么 Redis 单线程还能保证 Lua 脚本原子性,却偏偏选了 Lua?
redis·面试·lua
難釋懷1 天前
Nginx-Lua
nginx·junit·lua
mCell2 天前
Lua 编程入门:从基础语法到元表
javascript·算法·lua
小努蛋7 天前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
rockey6279 天前
基于AScript的Lua脚本语言发布啦
c#·.net·lua·script·动态脚本
MC皮蛋侠客11 天前
Redis 系列(七):事务、Pipeline 与 Lua 脚本——从原子性到 Functions
数据库·redis·lua
l1t13 天前
用李红艳先生的DuckDB luajit插件批量计算数独
数据库·sql·lua·duckdb
智购科技自动售卖机厂家17 天前
从STM32到RK3588——自动售货机嵌入式主控方案的架构演进~YH
stm32·嵌入式硬件·物联网·架构·lua·零售·symfony
qq_3707730919 天前
Unity游戏xLua逆向实战:从SO版本识别到Lua脚本热替换全链路
游戏·unity·lua
星空露珠22 天前
迷你世界3.0API,事件监听
开发语言·数据结构·数据库·游戏·lua