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

这篇具有很好参考价值的文章主要介绍了Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

①  背景

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

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

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

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

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

③  标准 Lua 和 LuaJIT 的关系

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

④  为什么选择LuaJIT

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

⑤  lua特别之处

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

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

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

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

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

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

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

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

pairs和ipairs看table的内部结构

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

[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')

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

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

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

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

⑥  LuaJIT

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

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

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

⑦  小结

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

⑧  答疑解惑

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

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

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

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

Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同文章来源地址https://www.toymoban.com/news/detail-506119.html

到了这里,关于Openresty原理概念篇(九)LuaJIT分支和标准Lua有什么不同的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx高级篇】Lua基础语法和OpenResty的安装

    目录 一、前言 二、Lua基础语法   hello world 保留 注释 变量 字符串 空值 布尔类型 作用域 控制语句 if-else for循环 函数 赋值 返回值  Table 数组 遍历 成员函数 三、openresty的安装 (一)预编译安装 (二)源码编译安装 (三)服务命令 (四)测试lua脚本以文件的形式

    2024年02月04日
    浏览(34)
  • 开源的API Gateway项目- Kong基于OpenResty(Nginx + Lua模块)

    Kong 是一个在 Nginx 内运行的开源 API 网关和微服务抽象层。它是用于处理 API 流量的灵活、可扩展、可插入的工具。 Kong 提供了以下功能: 用户登录 :Kong 提供了多种认证插件,像 JWT、OAuth 2.0 等,可以满足用户登录需求。 Token 管理 :使用上述认证插件,Kong 可以有效地管理

    2024年01月23日
    浏览(44)
  • Openresty(二十二)ngx.balance和balance_by_lua终结篇

    一  灰度发布铺垫 ①  init_by_lua* init_by_lua    init_by_lua_block    当配置重载时,init_by_lua* 不会清空其内的lua_shared_dict共享数据 lua执行系统命令方法os.execute和io.popen      init_by_lua_file不能连接redis init_by_lua_file  ②  init_worker_by_lua* init_worker_by_lua init_worker_by_lua_block  ngx.worker

    2024年02月07日
    浏览(40)
  • Windows 环境下nginx 静态资源服务器(图片,文件)权限控制(nginx/openresty/lua)

    1 同nginx配置server以后,我们可以很方便的直接访问到文件服务器上的文件资源,但是某些情况下,文件资源可能是隐私图片,比如客户注册时上传的身份证照片等等,这时候我们需要对图片访问进行控制,必须登录后才能查看到这些隐私图片。 2 一般来说,我们都是通过后端

    2024年02月09日
    浏览(55)
  • 在Openresty中使用lua语言向请求浏览器返回请求头User-Agent里边的值

    可以参考《Linux学习之Ubuntu 20.04在https://openresty.org下载源码安装Openresty 1.19.3.1,使用systemd管理OpenResty服务》安装Openresty。 然后把下边的内容写入到openresty配置文件 /usr/local/openresty/nginx/conf/nginx.conf (根据实际情况进行选择文件): 然后 sudo openresty 启动openresty。 最后在浏览器里

    2024年02月07日
    浏览(62)
  • 【音视频原理】图像相关概念 ② ( 帧率 | 常见帧率标准 | 码率 | 码率单位 )

    帧率 Frame Rate , 帧 指的是 是 画面帧 , 帧率 是 画面帧 的 速率 ; 帧率 的 单位是 FPS , Frames Per Second , 是 每秒钟 的 画面帧 个数 ; 帧率 是 动画 / 电影 / 游戏 的 每秒钟 的 画面数 , 用于 测量 视频 的 信息数量 ; 帧率 越高 , 视频 信息数量越多 ; 帧率 与 流畅度 相关 , 帧率越高

    2024年01月20日
    浏览(94)
  • Git如何查看分支列表?具体步骤是怎样的?底层原理是什么?

    要查看 Git 中的分支列表,可以使用 git branch 命令。该命令会列出当前仓库中所有的本地分支,并在当前分支前面加上一个星号(*)以标识当前所在的分支。 具体步骤如下: 打开终端或命令行窗口,进入 Git 仓库所在的目录。 运行 git branch 命令,该命令会列出所有本地分支

    2024年02月11日
    浏览(43)
  • git如何比较两个分支的不同

    工作使用git代码仓库,当分支多任务细分,两个分支之间的比较变得重要,由于之前的某种操作,两个分支的合并情况已经不再清晰,迫切需要我们比较两个分支的不同。下面讲解使用两个方式去比较分支文件、比较分支下的单个文件不同 git 命令行比较 (通用) vscode 插件

    2024年02月07日
    浏览(44)
  • git代码分支有不同合并后代码并无更新还存在不同

    记录一下自己在开发中遇到的坑---------------------- 背景 :三条分支 (生产、测试、自己的开发分支)。 问题 :自己分支合并测试分支后,合并成功但是测试分支并无改变,同一行代码竟然是不一样的! 排查 :经过一系列排查发现merge的作用是并不是对代码进行合并,而是对co

    2024年02月11日
    浏览(57)
  • 如何拉取GitHub上的不同分支

    要拉取GitHub上的不同分支,你可以按照以下步骤进行操作: ①首先,在GitHub上找到你要拉取分支的仓库页面。 ②在仓库页面顶部,你将看到一个下拉菜单,显示当前选择的分支。点击这个下拉菜单,在列表中选择你想要拉取的分支。 ③选择了分支后,你将会看到页面会自动

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包