Lua

分布式限流——基于Redis的Lua脚本限流实现

分布式限流 当你的应用分布式部署出现对等端(peer)时,单机的限流往往不能满足对下游保护的作用,因为它仅仅是jvm内存层面的流量控制。这个时候自然而然会想到用一些跨JVM的分布式中间件控制在单位时间窗口内的请求是否通行,本文我们将探讨如何借助Redis实现分布式限流。 1 固定窗口限流 前文已经介 ......
分布式 脚本 Redis Lua

freeswitch+lua实现IVR(互动式语音应答)

IVR(Interactive Voice Response)交互式语言应答,是呼叫中心的1个经典应用场景,FreeSwitch官方有一个利用lua实现的简单示例,大致原理是利用lua脚本+TTS实现,记录一下:(环境:FreeSwitch 1.10.11 + Windows 10) 步骤1:安装T ......
freeswitch 语音 IVR lua

lua热更小游戏实现

在要触发小游戏的创生物上挂在一个脚本,脚本实现加载本地的小游戏lua脚本(可以热更实现小游戏的逻辑),将其中的生命周期函数(Awake、Start、Update)获取到并映射成Action,在该脚本的Unity生命周期中调用。 在lua脚本的Start函数中对原来的C#脚本进行注入(util.hot ......
小游戏 lua

Unity3D 如何把全部游戏逻辑都放到lua层实现详解

Unity3D是一款非常流行的游戏开发引擎,它支持C#、JavaScript和Boo等脚本语言。然而,有时候我们可能希望将全部游戏逻辑都放到Lua层实现,这样可以更方便地进行游戏逻辑的修改和调试。本文将详细介绍如何使用Unity3D将全部游戏逻辑都放到Lua层实现。 对啦!这里有个游戏开发交流小组里 ......
逻辑 Unity3D Unity3 Unity lua

pluto lua 的超集

pluto 是lua 的超集(5.4 版本的),同时还提供了一些新的特性,以及语法,当然也支持与lua 的兼容模式包含了语法以及bbytecode 说明 lua 这个小语法在实际应用中还是很多的,比如移动端,游戏,waf,nginx,framework 中,以后可以试用下Pluto 参考资料 htt ......
pluto lua

Lua中优雅的异步封装

注:下面应用场景主要针对Unity引擎 + Lua方案。其他问题可以参考类似思想进行解决 问题 在我们日常使用异步的一些接口进行编码的时候,经常会遇到这样的问题: 使用异步回调的方式,当有复杂的嵌套业务,使得回调内需要嵌套回调,导致这个业务的逻辑无法像同步业务那样清晰直观的展现 异步编码方式对业务人 ......
Lua

lua变量

一)全局-局部变量 全局变量是指:这个变量在没有被同名局部变量覆盖的时候,所有代码块都是可见的。 局部变量是指:该变量只在被申明的代码块中可见,并且可以覆盖同名全局变量或者外层局部变量。 Lua 中的局部变量要用 local 关键字来显式定义,不使用 local 显式定义的变量就是全局变量:g_va ......
变量 lua

lua时间操作

在 Lua 中,函数 time、date 和 difftime 提供了所有的日期和时间功能。在 OpenResty 的世界里,不推荐使用这里的标准时间函数,因为这些函数通常会引发不止一个昂贵的系统调用,同时无法为 LuaJIT JIT 编译,对性能造成较大影响。推荐使用 ngx_lua 模块提供的带 ......
时间 lua

lua模块

从lua5.1开始,Lua 加入了标准的模块管理机制,Lua 的模块是由变量、函数等已知元素组成的 table, 因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。 一)模块定义 模块的文件名 和 模块定义引用名称要一致 -- 文件 ......
模块 lua

lua元表

举个例子,在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 那如何计算两个table的相加操作a+b? local t1 = {1,2,3}local t2 = {4,5,6} local t3 = t1 + t2 > {1,2,3,4, ......
lua

lua面向对象

面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。java,c++,.net等都支持面向对象 面向对象特征1) 封装:指能够把一个实体的信息、功能、响应都装入一个单独的对象中的特性。2) 继承:继承的方法允许在不改动原程序的基础上对其进行扩 ......
对象 lua

lua的string操作

string的相关操作 1)string.upper(s)接收一个字符串 s,返回一个把所有小写字母变成大写字母的字符串。print(string.upper("Hello Lua")) -->output HELLO LUA 2)string.lower(s)接收一个字符串 s,返回一个把所有大写 ......
string lua

lua的table操作

Lua中table内部实际采用哈希表和数组分别保存键值对、普通值;下标从1开始 不推荐混合使用这两种赋值方式。 local color={first="red", "blue", third="green", "yellow"} print(color["first"]) --> output: r ......
table lua

lua的正则表达式

lua的正则表达式 与其他脚本语言不同的是,Lua并不使用POSIX规范的正则表达式[4](也写作regexp)来进行模式匹配。主要的原因出于程序大小方面的考虑:实现一个典型的符合POSIX标准的regexp大概需要4000行代码,这比整个Lua标准库加在一起都大。权衡之下,Lua中的模式匹配的实现 ......
正则 表达式 lua

lua控制结构

lua控制结构一 一)条件 - 控制结构 if-elseif-else 是我们熟知的一种控制结构。Lua 跟其他语言一样,提供了 if-else 的控制结构。 1)单个 if 分支 型 if 条件 then --body end条件为真 ,执行if中的body x = 10if x > 0 then ......
结构 lua

lua运算符

一)算术运算符 + 加法 - 减法 * 乘法 / 除法 % 取余 ^ 乘幂 - 负号 print(1 + 2) -->打印 3print(5 / 10) -->打印 0.5。 这是Lua不同于c语言的print(5.0 / 10) -->打印 0.5。 浮点数相除的结果是浮点数-- print(10 ......
运算符 lua

lua语法四table表

一)table (表)Table 类型实现了一种抽象的“关联数组”。即可用作数组,也可以用作map。lua中没有数组和map,都是用table这个类型 --数组java int[] intArr = new int[]{1,2,3,4,5,6};intArr[0]intArr[1]--map > k ......
语法 table lua

lua: dofile 调用

lua版本: 5.3.6 1.example.lua function add(a,b) print("enter add") return a+b end return{ -- handle 是 dofile 返回的句柄, 将 add 赋值给 handle, 就要通过 handle 调用 add ......
dofile lua

Lua: 环境配置

1. 安装包下载 安装包下载地址 根据环境下载对应版本文件,windows环境下载下面安装包 2. 解压安装包 解压后文件如下, lua.exe是复制的lua53.exe, 方便直接使用lua命令 3. 配置环境变量 在环境变量 -> 系统变量 -> Path 中加入lua安装目录 4. 测试 在命 ......
环境 Lua

使用OHOS SDK构建lua

参照OHOS IDE和SDK的安装方法配置好开发环境。 从github下载源码。 执行如下命令: git clone --depth=1 https://github.com/lua/lua.git 进入源码所在的目录,创建批处理文件ohos_build.cmd,内容如下: @echo off se ......
OHOS SDK lua

lua语法三

一)function (函数) 有名函数: optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_param ......
语法 lua

lua基本语法二

一)boolean(布尔)布尔类型,可选值 true/false; Lua 中 nil 和 false 为“假”,其它所有值均为“真”。比如 0 和空字符串就是“真”; local a = truelocal b = 0local c = nil if a then print("a") -->ou ......
语法 lua

全面对比 汇编、易语言、Shell、Lua、Ruby、Perl、Erlang、Rust、Scala、Python、Go、VB、PHP、C/C++、C#、.Net、Java、…… 等多种编程语言的区别

1. 语言类型:首先,C/C++、Java 、Python都是强类型的语言。强类型语言的定义如下: 强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换 ......
语言 编程语言 多种 Erlang Python

windows下编写lua脚本生成exe

之前我有个想法,想在window下,远程执行服务器Linux下的某个脚本,我第一时间想到的是用 jekenis,但感觉如果能对输入参数更灵活操作,会更好些,然后发现一个比较有意思的工具 srlua ,它可以将lua编写的代码打包输出成 exe 文件。 srlua 目录内容如下: 操作说明: glue ......
下编 脚本 windows lua exe

Redis进阶 使用Lua编写Redis脚本

前面学习了Lua的基本语法,接下来是使用Lua编写脚本 1.可以使用redis.call来调用redis命令 使用redis.call会将redis命令返回的类型 转换成对应的Lua数据类型。 关系如下 与redis.call想类似的就是redis.pcall。 【redis.call与redis. ......
Redis 脚本 Lua

【C语言数据结构】对Lua Table源码的一次劣质学习

/* new_key */ KLcBool KLcmCreateMapKeyValue(KLCMAP_PTR pTag, KLCTVALUE_PTR pKv) { KLcBool kbRet = KL_FALSE; KLcBool kbIsKvLegal = KL_FALSE; DWORD dwIn ......
数据结构 源码 语言 结构 数据

lua读写文件

读写文件的模式 r - 读取模式w - 写入模式(覆盖现有内容) a - 附加模式(附加在现有内容之后) b - 二进制模式 r+ - 读取更新模式(现有数据保留) w+ - 写入更新模式(现有数据擦除) a+ - 附加更新模式(现有数据保留,只在文件末尾附加) do --read data fro ......
文件 lua

Unity3D 项目中怎样正确的使用 Lua详解

在Unity3D游戏开发中,Lua作为一种轻量级的脚本语言,被广泛应用于游戏逻辑的编写和扩展。本文将详细介绍如何正确地在Unity3D项目中使用Lua,并给出相应的技术详解和代码实现。 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来 ......
Unity3D 项目 Unity3 Unity Lua

Redis进阶 Lua基本库

【String库】 1.获取长度,相当于# 2.大小写 相当于C#里面的 3.获取子字符串,注意下标从1开始 结尾默认数字是-1。负数指从后往前数 【table库】 ......
Redis Lua

Redis进阶 Lua函数

1.可以直接声明一个局部变量来接收函数,也可以直接简写 local square=function(i) return i*i end 简写: local function square(i) return i*i end 2.当调用函数时,参数是一一对应的,如果多了参数,则会忽略,少则会将对应位置 ......
函数 Redis Lua
共186篇  :1/7页 首页上一页1下一页尾页