局部变量和全局变量 如果为了更严格的使用局部变量,可以用do-end来界定一个块。即在do之后end之前组成一个作用域。 do local a = 10 ... end print( a ) -- nil Lua中这个全…
分类:lua教程
lua web快速开发指南(2) - cf的运行机制简介与基于httpd库的开发环境搭建
从本章开始假设大家都熟悉lua语法. 运行流程 在上一章节学会了如何安装cf后, 本章节就会介绍cf到运行机制与httpd的server搭建! cf是一个非常典型的基于协程的事件驱动开发框架在封装成API后, 可以依赖事…
[转]:xmake工程描述编写之选择性编译
xmake 提供了一些内置的条件判断api,用于在选择性编译时,获取到一些工程状态的相关信息,来调整编译逻辑。。 例如:is_os, is_plat, is_arch, is_kind, is_mode, is_opti…
Redis使用lua脚本
版本:自2.6.0起可用。时间复杂度:取决于执行的脚本。 使用Lua脚本的好处: 减少网络开销。可以将多个请求通过脚本的形式一次发送,减少网络时延。 原子操作。redis会将整个脚本作为一个整体执行,中间不会被其他命令插…
OpenResty下使用Apache Ant Path匹配库
OpenResty下使用Apache Ant Path匹配库 一、简介 OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,而lua相对于编译型语言性能比较差,所以我们使用编写sharedo…
openresty 前端开发轻量级MVC框架封装二(渲染篇)
这一章主要介绍怎么使用模板,进行后端渲染,主要用到了lua-resty-template这个库,直接下载下来,放到lualib里面就行了,推荐第三方库,已经框架都放到lualib目录里面,lua目录放项目源码,比较好管理…
lua unpack 陷阱
先看一则示例: local ary_with_hole = {1, 3, 5, 7, 9} print(#ary_with_hole) -- => 5,这正是我想要的 ary_with_hole[4] = nil …
当 Go 遇上了 Lua
在 GitHub 玩耍时,偶然发现了 gopher-lua ,这是一个纯 Golang 实现的 Lua 虚拟机。我们知道 Golang 是静态语言,而 Lua 是动态语言,Golang 的性能和效率各语言中表现得非常不错…
Lua 错误处理 pcall & xpcall
pcall pcall 指的是 protected call 类似其它语言里的 try-catch, 使用pcall 调用函数,如果函数 f 中发生了错误, 它并不会抛出一个错误,而是返回错误的状态, 为被执行函数提供一…
怎样正确的理解 cosoket
怎样理解 cosocket by 院生@ORSF笔者认为,cosocket 是 OpenResty 世界中技术、实用价值最高的部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行…
创建Lapis应用程序
使用Lua创建Lapis应用程序 生成一个新项目 如果您尚未阅读,请阅读入门指南,了解有关创建新项目骨架的信息以及OpenResty,Nginx配置和lapis命令的详细信息。 您可以在当前目录中通过运行以下命令启动一个…
Lua 学习笔记(三)—— 表达式
1 数学运算操作符 1.1 % 操作符 Lua 中的 % 操作符与 C 语言中的操作符虽然都是取模的含义,但是取模的方式不一样。 在 C 语言中,取模操作是将两个操作数的绝对值取模后,在添加上第一个操作数的符号。 而在 …