Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同

news2024/12/23 22:36:55

一  LuaJIT分支和标准Lua有什么不同

①  背景

luajit官方   标准lua官方   openresty自身维护的luajit  编译luajit

②  LuaJIT 在 OpenResty 整体架构中的位置

③  标准 Lua 和 LuaJIT 的关系

④  为什么选择LuaJIT

⑤  lua特别之处

1)Lua 的'下标'从'1'开始

2) 使用 '..' 来'拼接'字符串

3) 只有 'table' 这一种'数据'结构

备注: 其它'高级特性'都是基于table模拟出的

补充: 只有在 table 是 '序列 sequence' 的时候,才能返回'正确'的'length'值

pairs和ipairs看table的内部结构

[1] table在'存储值'的时候是按照'顺序'的

备注: 序列'不'应该含有 'nil' 的,array 是可以'包含' nil

[2] 但是在'存储键值对'时候是按照'键的哈希值'存储的,'并不会'按照键的字母顺序或是数字顺序存储

备注: '杂表',即使'元素为空nil'的时候,也会'分配一个key'给它

强调: lua中的table最终在'内存中分配'都是'键值对'的形式

[3] 建议大家'绕着走',把 nil 改为 ngx.null 来'填充数组',不同的 lua 版本会有'不同的行为'

nil、ngx.null、cjson.null、userdata: null

4) 默认是'全局'变量

最佳实践: 在 lua 中'声明变量'时,前面都要加上 'local'

local name = 'wzj'

local xxx = require('xxx')

1、 if必须要'有end',在python和lua之间切换会'很不习惯'

2、 一般一个对象访问属性是'用冒号:',而不是'点.',也会经常性'写错'

⑥  LuaJIT

⑦  小结

⑧  答疑解惑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java HelloWorld

一、java命令 javac:将.java文件编译成.class文件 cp - 指定class搜索路径 d - 指定class文件生成目录 java: 执行.class或.jar文件 cp指定class搜索路径 示例:java test1.app #表示执行./test1/app.class文件main函数 jar:打包生成.jar文件 v- 可视化输…

星星之火,可以燎原——关于太赫兹的技术进展

盼望着,盼望着,5G来了,6G的脚步也近了。除了做好现有的技术工作,作为通信人还要不断关注新技术的发展,真心不易!无线数据链路的容量在过去十几年中呈指数级增长,但对更高数据速率的需求持续增加…

MySQL数据库优化技术一

纵论 对mysql优化时一个综合性的技术,主要包括 表的设计合理化(符合3NF)添加适当索引(index) [ 四种: 普通索引、主键索引、唯一索引unique、全文索引 ]分表技术( 水平分割、垂直分割 ) 水平分割根据一个标准重复定义几个字段值相同,表名称不同的表&…

Android Jetpack Compose之ModalBottomSheet的使用

Android Jetpack Compose是一个现代化的UI工具包,让开发者以声明式的方式来构建Android应用。今天我们要讨论的是其中一个重要组件——ModalBottomSheet。 1. ModalBottomSheet简介 ModalBottomSheet是Jetpack Compose中的一个组件,它允许我们从屏幕底部…

Hugging News #0626: 音频课程更新、在线体验 baichuan-7B 模型、ChatGLM2-6B 重磅发布

每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」,本期 Hugging News 有哪些有趣的消息…

第27章 uView 内置路由使用注意事项

1 uView 内置路由不支持通过“localhost”域名直接获取数据。 在前后分离开发中“axios” 路由支持使用“localhost”域名或IP地址获取后端的数据,所以不管是IIS部署还是后端调试通过“axios” 路由都能获取数据,对于.NetCore的前后端分离开发来说“axio…

【proxychains4】虚拟机内kali走主机代理

文章目录 简介安装配置使用测试 简介 ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。 ProxyChains通过一个用户定…

数据结构--单链表的定义

数据结构–单链表的定义 本节的学习目标: 单链表的定义(如何用代码实现) 优点:不要求大片连续空间,改变容量方便 缺点:不可随机存取,要耗费一定空间存放指针 代码实现 struct LNode {ElemType data; //数据域stru…

vcruntime140.dll,丢失如何修复,vcruntime140.dll,丢失修复详细办法(有效的方法)

今天打开photoshop软件的时候,突然间就打不开,电脑报错由于找不到vcruntime140.dll,无法继续执行此代码,然后我就把photoshop卸载了,再重新安装,依然还是报错。这个可怎么办?vcruntime140.dll如…

C++【day1】

练习 定义一个命名空间Myspace&#xff0c;包含以下函数&#xff1a;将一个字符串中的所有单词进行反转&#xff0c;并输出反转后的结果。 #include <iostream> #include<iomanip>using namespace std;namespace Myspace { void reversal(string *str); }void My…

CW32L083不同主频功耗测试

本文主要介绍CWL083VCT6芯片在不同主频下的功耗测试方法和测试结果。 1.HSIOSC时钟 HSIOSC 时钟由内部 RC 振荡器产生&#xff0c;不需要外部电路&#xff0c;比 HSE 时钟的成本低&#xff0c;启动速度快。HSIOSC 时钟频率固定为 48MHz&#xff0c;频率精度低于 HSE 时钟。RC …

《计算机系统与网络安全》 第二章 计算机网络基础与TCPIP协议安全性

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

苹果app用发布证书打包后怎么装手机测试

一、背景 iOS 的开发证书打包后可以通过爱思助手安装到手机上测试&#xff0c;但发布 (Production) 证书是不允许安装在手机上的。而在实际开发过程中&#xff0c;尽管通过开发证书测试过了&#xff0c;iOS生产包仍然可能会出现一些问题&#xff0c;需对生产包也进行测试。 而…

【Stable diffusion教程】AutoDL云部署超详细步骤说明【外婆都会】

1 AutoDL云端部署操作流程 1.1 登录/注册 官网&#xff1a;https://www.autodl.com/home&#xff0c;点击右上角登录/注册。此处我已经注册了 如果你是学生的话&#xff0c;注册完之后&#xff0c;进入控制台&#xff0c;在右上角点一下学生认证&#xff0c;然后你就可以享受…

23.6.24

1、grep&#xff1a;查找字符串 grep 字符串 文件名 -w:按单词查找 -R:实现递归查找&#xff0c;主要用于路径是目录的情况 -i:不区分大小写 -n:显示行号 grep -w "^ubuntu" /etc/passwd ---->查找以ubuntu单词作为开头位置的所在行 grep -w "ubuntu$"…

html简单实现b站评论回车发布

头像&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wi…

Linux系统:进程概念

文章目录 1 操作系统1.1 概念1.2设计操作系统的目的 2进程2.1 进程是什么2.2 如何管理进程2.2查看进程2.3 程序中获取自己的pid2.4 创建一个进程2.5 进程状态2.6 进程优先级2.6.1为什么要有优先级2.6.2 什么是优先级2.6.3 linux下优先级的做法 2.8 其他概念 3进程地址空间3.1 初…

基于Docker环境下的Jenkins搭建及使用

目录 前言&#xff1a; Docker下安装Jenkins 启动Jenkins Jenkins插件下载 配置Jenkins 修改Jenkins时间 配置Python3环境 配置HTML报告/Allure报告 Allure报告配置 简单使用-实例构建 参数化构建 构建后操作 配置成功 控制台输出 Allure报告查看 HTML报告查看 前言&#xff1a…

macOS上下载安装Kibana并连接ES

下载Kibana 执行以下命令进行&#xff0c;版本号根据你所用的ES版本选择&#xff0c;比如我的是7.10.0 curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-darwin-x86_64.tar.gz解压安装Kibana tar -zxvf kibana-7.10.0-darwin-x86_64.tar.gz进行config…

Visual modflow Flex地下水数值模拟

专题一 地下水数值软件的操作流程、建模步骤和所需资料处理及相关注意事项 [1] Visual MODFLOW Flex特征 [2] Visual MODFLOW Flex软件界面及模块 [3] 地下水数值模拟的建模步骤及数据需求 专题二 模型建模操作方法 技巧、真实案例演练、特殊问题处理 [1] 直接模型建模的操…