闭包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

闭包

关于闭包 1.chatgpt的详细说明,我觉得已经很充分了 function 外部函数() { // 外部函数作用域中定义的变量 let 外部变量 = 10; // 内部函数(闭包)在外部函数内部定义 function 内部函数() { // 访问外部函数作用域中的变量 console.log(外部 ......
闭包

深入理解JavaScript堆栈、事件循环、执行上下文和作用域以及闭包

合集 - JavaScript(4) 1.JavaScript this 绑定详解01-092.JavaScript apply、call、bind 函数详解01-093.JavaScript forEach 方法跳出循环01-02 4.深入理解JavaScript堆栈、事件循环、执行上下文和作用域 ......
闭包 堆栈 上下文 JavaScript 上下

lua热更小游戏实现

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

【Python基础】函数进阶(匿名函数、装饰器、闭包等)

简介 函数进阶的使用,包括匿名函数、装饰器、闭包等 匿名函数 指函数是没有函数名称的,临时使用的微函数。使用 lambda 表达式 来声明,语法格式如下: lambda [arg1 [arg2 , ... , argn] ] : 表达式 * [arg1 ,arg2 , ... , argn ] 为函 ......
闭包 函数 基础 Python

闭包与装饰器

闭包,又称闭包函数或者闭合函数,闭包函数就是指在一个嵌套函数里的内层函数,然后用内层函数来操纵外层函数的数据 1.闭包函数 点击查看代码 def out_fun(): #外层函数 def in_fun(): #内层函数 print(10) return in_fun #外层函数返回值,返回的是内层函 ......
闭包

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

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

深入理解JavaScript堆栈、事件循环、执行上下文和作用域以及闭包

1. 堆栈 在JavaScript中,内存堆是内存分配的地方,调用栈是代码执行的地方。 原始类型的保存方式:在变量中保存的是值本身,所以原始类型也被称之为值类型。 对象类型的保存方式:在变量中保存的是对象的“引用”,所以对象类型也被称之为引用类型。 ![[CleanShot 2024-01-02 a ......
闭包 堆栈 上下文 JavaScript 上下

JavaScript的闭包、执行上下文、到底是怎么回事?还有必要学吗?

在上一课,我们了解了 JavaScript 执行中最粗粒度的任务:传给引擎执行的代码段。并且,我们还根据“由 JavaScript 引擎发起”还是“由宿主发起”,分成了宏观任务和微观任务,接下来我们继续去看一看更细的执行粒度。 一段 JavaScript 代码可能会包含函数调用的相关内容,从今天开始 ......
闭包 上下文 JavaScript 上下 回事

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

Python笔记三之闭包与装饰器

本文首发于公众号:Hunter后端 原文链接:Python笔记三之闭包与装饰器 这一篇笔记介绍 Python 里面的装饰器。 在介绍装饰器前,首先提出这样一个需求,我想统计某个函数的执行时间,假设这个函数如下: import time def add(x, y): time.sleep(1) ret ......
闭包 笔记 Python

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
共358篇  :1/12页 首页上一页1下一页尾页