【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 天前
【Unity知识速递】第13期 Unity 内存泄漏排查实战:从 Memory Profiler 到 Lua 引用泄漏的生产级全链路诊断
unity·junit·c#·游戏引擎·lua
努力努力再努力wz4 天前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
阿卡好可爱4 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
Joy T4 天前
Redis Lua 原子限流:Lua 脚本、竞态条件与并发控制
数据库·redis·lua·限流·竞态条件·redis scripting
努力努力再努力wz8 天前
【Lua进阶系列】Lua 调试机制详解:从虚拟机调用栈、错误传播到 debug 库
junit·单元测试·lua
炸薯条!10 天前
博客系统测试报告
开发语言·lua
BuHuaX12 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua
努力努力再努力wz12 天前
【Lua 入门系列】模块与包(一):从多文件组织到require 运行时加载机制、模块缓存、预加载搜索与 Lua 文件搜索机制
开发语言·junit·lua
UWA12 天前
多人战斗中Lua持续高耗时,是瞬时峰值还是高频调用在作祟
性能优化·lua·游戏开发
努力努力再努力wz13 天前
【Lua 入门系列】从执行模型到事件驱动:一文理解 Lua 有栈协程、挂起恢复与协作式调度
开发语言·lua