题注最近我在学习nginx的lua插件,发现结合nginx的异步io和lua的流程控制能力,还是有很丰富的想象空间的:几乎所有常见的http请求的处理逻辑都能搞定,诸如查查数据库,访问一下memcache,读写一下本地文件等,都不在话下。恰好我正在研究一个第三方http服务的调用api,就产生了将其移植到lua上的想法。其中涉及到了构造https请求的需求。我先采用ngx.socket.tcp()
十四、获取Nginx的环境变量通过Lua API可以获取Nginx的环境变量,用来提升某些业务处理流程,比如有些定时任务只需要在一个worker进程上执行,不需要执行多次,因此可以获取环境变量中worker的ID,在指定的ID上执行任务即可;或者获取Nginx的worker进程是否正在shutdown,以决定是否对数据进行备份操作。14.1 获取环境所在的模块ngx.config.subsyste
lua_自己对“lua函数”知识点的总结1.lua函数的定义--lua中,函数都是function类型的对象。(1)其可以被比较 (2)其可以赋值给一个对象(3)可以传递给函数(4)可以从函数中返回 (5)作为table表中的键 函数的两种定义方式 (1)function 函数名 (参数)        (2) 函数名 = function(参数)&nbsp
此文解决2个问题的疑惑:1. pycharm里面使用Emmylua出现无法连接的问题报错内容:Try connect localhost:9966 ... Connection refused: connect2. lua的debug无效果(直接去看文末)Emmylua是这个东西,用来debug一些lua代码。前提:我有好几个一样的工程文件A,B,C, 然后打开的时候没注意,unity开启了A工程
一个基于skynet框架开发的服务器,是由若干服务构成,你可以将skynet看成一个类似操作系统的东西,而服务则可以视为操作系统下的进程.但实际上,单个skynet节点仅使用一个操作系统进程,服务间的通讯是在进程内完成的,所以性能比普通的操作系统进程间通讯要高效的多.skynet 框架是用C语言编写,所以它的服务也是用C语言开发,但框架已经提供了一个叫做snlua的用C开发的服务模块,它可以用来解
转载 2024-03-18 12:36:22
37阅读
前言 Lua作为游戏开发的吃饭语言,写了2、3年的lua,一行源码没看过,只能当个工具人,勉强维持生活。机缘巧合听了公司一个lua table源码解析的分享,感觉还蛮有意思,决定开始看一下lua源码,看懂这个我们开发使用的吃饭语言。【主要是闲了】 1.1 目录 下载到lua-5.2.1的源代码后,会发现源代码文件。全部放在src子目录下。这些文件根据实现功能的不同,可以分为四部分。
《programming in lua 》的第24章讲C语言的API函数。那么什么叫做lua解释器?书中的意思lua解释器就是除了lua脚本和lua库之外的C语言程序。lua脚本(由用户输入的字符串或文件组成)   <----->  lua解释器  <-------->lua库(比如V5.1.4版本的库)===============
转载 2024-05-08 13:18:50
137阅读
1. 建一个新表void lua_createtable (lua_State *L, int narr, int nrec)创建一个新的table, 并把它放在栈顶. narr和nrec分别指定该table的array部分和hash部分的预分配元素数量无返回值栈高度+1, 栈顶元素是新table#define lua_newtable(L) lua_cre
转载 2024-05-22 12:03:27
380阅读
Lua源码分析 --对象表示Lua是动态类型的语言,即是说类型附着于值而不变量[1]. Lua的八种基本类型空,布尔, 数值, 字符串,表, 函数和用户数据.所有类似的值都是虚拟机的第一类值. Lua解释器将其表示成为标签联合(tagged union).如下面代码示例所示: lobject.h : 56 /* ** Union of all Lua values */ typedef unio
转载 2024-02-23 20:14:35
94阅读
Ldoc是一个类似doxygen的文档生成工具,doxygen功能更强大但是不支持lua语言,所以需要专门的Ldoc工具来编写Lua文档:https://github.com/stevedonovan/LDoc在官方的README.md页面中对安装过程描述很含糊,以至于弄了不少时间(真不知道是自己理解能力有问题还是他们表达能力有问题,无语)。不过,我发现程序员应该知道自己要装的工具用来做什么的。比
转载 2024-07-23 09:06:35
95阅读
通过FileReader 对象我们可以读取本地存储的文件,使用File 对象来指定所要读取的文件或数据;其中File 对象可以是来自用户在一个元素上,选择文件后返回 FileList 对象,也可以来自由拖放操作生成的DataTransfer;Files 对象由于HTML5中我们可以通过为表单元素添加 multiple 属性;因此我们通过<input>上传文件后得到的是一个Files对象
转载 2024-06-28 13:57:08
91阅读
1. Lua解释器Lua解释器是什么? Lua解释器是一个使用Lua标准库实现的独立的解释器,是一个很小的Lua应用(总共不超过500行的代码)。解释器负责程序和使用者的接口:从使用者那里获取文件或者字符串,并传给Lua标准库,Lua标准库负责最终的代码运行。当Lua作为独立程序运行的时候,Lua和...
转载 2014-06-19 17:03:00
306阅读
2评论
转自:://.cnblogs./ringofthec/archive/2010/10/22/lua.html1. 建一个新表void lua_createtable (lua_State *L, int narr, int nrec)创建一个新的table, 并把它放在栈顶. n...
转载 2015-05-26 12:11:00
332阅读
2评论
# Lua Java API 简介 Lua 是一种轻量级的脚本语言,常被用于嵌入式系统和游戏开发中。与此同时,Java 是一种广泛应用于企业级开发的编程语言。为了让这两种语言能够互相通信和调用,我们需要使用 Lua Java API。通过这个 API,我们可以在 Java 中调用 Lua 脚本,实现更加灵活和高效的编程。 ## Lua Java API 的使用 首先,我们需要引入 Lua
原创 2024-05-01 04:22:55
53阅读
第27章 C语言API总览    lua.h(前缀 lua_): 声明了 Lua 提供的基础函数,其中包括创建新 Lua 环境的函数、调用 Lua 函数的函数等等。库( auxiliary library) 使用 lua.h 提供的基础 API 来提供更高层次的抽象,不能访问 Lua 的内部元素,而只能通过lua.h 中声明的官方基础 API 完成所有工作。#include &
转载 11月前
81阅读
  Lua可作为扩展性语言(Lua可以作为程序库用来扩展应用的功能),同时也是个可扩展的语言(Lua程序中可以注册由其他语言实现的函数)。C API是一个C代码与Lua进行交互的函数集。他由以下部分组成:读写Lua全局变量的函数、调用Lua函数的函数、运行Lua代码片断的函数、注册C函数然后可以在Lua中被调用的函数,等等。  API中有些函数为了方便以宏的方式实现。  当在Lua和C之间交换数据
转载 2024-08-15 21:37:42
41阅读
lua_call族函数解释, lua和c通信的基础: 栈, TValue 这些东西是平时遇到的, 觉得有一定的价值, 所以记录下来, 以后遇到类似的问题可以查阅, 同时分享出来也能方便需要的人, 转载请注明来自RingOfTheC[ring.of.the.c@gmail.com] 打算记录一些lua_api, 可能会觉得lua文档中已经说的很清
转载 2023-07-16 11:51:43
293阅读
1.场景最近做了一个新的项目,需要提供接口供第三方调用,在api接口调用处需要实现一个限流的策略, 所以采用了 Redis + Lua脚本的一个策略来达到一个限流的目的2.实现原理:当第三方服务在请求某一个具体的接口之前,把接口名作为key去redis中查看这个key在单位时间内的访问次数(例如1秒20次,那就设置这个key的过期时间是1秒)当这个key的次数在一秒内的次数没有达到20次,也就是没
转载 2024-03-21 10:58:40
165阅读
Lua基础简介第一个lua程序--[[这是多行注释]]-- --[[这是多行注释]] --[[这也是多行注释--]] --单行注释 print("hello world");Lua变量--lua中的语法简介1: --[[ 1. lua可以没有分号结尾,有也不影响。这个看个人习惯了。 2. lua中所有的额变量都不需要声明,直接写变量名就可以用,且变量类型取决于赋值的类型,这一点很像C#中的var。
转载 2024-03-28 15:34:47
156阅读
3.1 - 堆栈 3.2 - 堆栈尺寸 3.3 - 伪索引 3.4 - C Closure 3.5 - 注册表 3.6 - C 中的错误处理
转载 2024-05-27 15:15:18
71阅读
  • 1
  • 2
  • 3
  • 4
  • 5