Below you will find pages that utilize the taxonomy term “Lua”
September 22, 2023
envoy中 lua filter 与 wasm filter使用教程
"\u003cp\u003e在 Envoy 中当我们需要对 \u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto#envoy-v3-api-msg-extensions-filters-network-http-connection-manager-v3-httpconnectionmanager\"\u003ehttp_connection_manager\u003c/a\u003e 中的请求进行修改时,如添加或删除一个请求header,一般通过 \u003ccode\u003eHTTP Filter\u003c/code\u003e 过滤器来实现。\u003c/p\u003e\n\u003cp\u003e而在Envoy 包含的几十个Filter中,通常会选择 \u003ccode\u003eLua Filter \u003c/code\u003e(\u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/lua/v3/lua.proto#extensions-filters-http-lua-v3-lua\"\u003eextensions.filters.http.lua.v3.Lua\u003c/a\u003e) 或 \u003ccode\u003eWasm Filter\u003c/code\u003e (\u003ca href=\"https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/wasm/v3/wasm.proto#extensions-filters-http-wasm-v3-wasm\"\u003eextensions.filters.http.wasm.v3.Wasm\u003c/a\u003e)这两类过滤器。\u003c/p\u003e\n\u003ch1 id=\"lua-filter-与-wasm-filter\"\u003eLua Filter 与 Wasm Filter\u003c/h1\u003e\n\u003cp\u003e下表是 \u003ccode\u003eLua Filter\u003c/code\u003e 与 \u003ccode\u003eHTTP Filter\u003c/code\u003e 的对比\u003c/p\u003e\n\u003ctable\u003e\n \u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003e\u003c/th\u003e\n \u003cth\u003eLua Filter\u003c/th\u003e\n \u003cth\u003eWasm Filter\u003c/th\u003e\n \u003c/tr\u003e\n \u003c/thead\u003e\n \u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e编程语言\u003c/td\u003e\n \u003ctd\u003eLua,解释型脚本语言\u003c/td\u003e\n \u003ctd\u003eWebAssembly,编译型语言\u003c/td\u003e\n \u003c/tr\u003e\n \u003ctr\u003e\n \u003ctd\u003e运行环境\u003c/td\u003e\n \u003ctd\u003eEnvoy 内置的 Lua …\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e"
December 24, 2011
Lua中非全局函数的写法
"\u003cp\u003e这里共有三种写法,这里基本上是将函数和表组合的写法.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e1.表和函数放在一起\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {}\nLib.foo = function (x, y) return x + y end\nLib.goo = function (x, y) return x -y end\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e\u003cstrong\u003e2.使用且构造函数\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {\n foo = function (x, y) return x + y end,\n goo = function (x, y) return x - y end\n}\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e注意第一个函数后面有一个逗号”,”\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3.Lua提供的另一种语法\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003c/blockquote\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003eLib = {}\nfunction Lib.foo (x, y)\n return x + y\nend\nfunction Lib.goo (x, y)\n return x -y\nend\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e当我们将函数保存在一个局部变量内时,我们得到一个局部函数,也就是说局部函数像局部变量一样在一定范围内有效。这种定义在包中是非常有用的:因为 Lua把 chunk当作函数处理,在 chunk内可以声明局部函数(仅仅在 chunk 内可见),词法定界保证 …\u003c/p\u003e"
December 23, 2011
详解如何让EditPlus支持LUA教程
"\u003cp\u003e如何让\u003cstrong\u003eEditPlus\u003c/strong\u003e支持\u003cstrong\u003eLUA\u003c/strong\u003e教程是本文要介绍的内容,这次主要介绍一下学习\u003cstrong\u003eLua\u003c/strong\u003e之前的准备工作。关于在\u003cstrong\u003eEditPlus\u003c/strong\u003e中实现\u003cstrong\u003elua\u003c/strong\u003e的安装,具体内容来看本文详解。\u003c/p\u003e\n\u003cp\u003e(1) 下载Lua安装包,最新版本是lua-5.1.3. 它的体积很小,只有210K, \u003ca href=\"http://luaforge.net/frs/?group_id=377\"\u003ehttp://luaforge.net/frs/?group_id=377\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e这是WINDOWS版本. 附带了编辑器,连环境变量都一次搞定了。\u003c/p\u003e\n\u003cp\u003e(2)安装\u003cstrong\u003elua\u003c/strong\u003e包\u003c/p\u003e\n\u003cp\u003e(3)安装EditPlus编辑器:\u003c/p\u003e\n\u003cp\u003e(4)让EditPlus支持lua高亮\u003c/p\u003e\n\u003cp\u003e下拉菜单”工具” — “首选项” ,选择”语法”. 点击”添加”按钮增加一个文件类型,在下面的”描述”和”扩展名”栏里都填写lua。\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e下面设置语法文件\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003elua.stx文件下载地址:. 注意要按一下”载入”按钮.\u003c/p\u003e\n\u003cp\u003e再设置好”自动换行”和”缩进”.\u003c/p\u003e\n\u003cp\u003e(5)让EditPlus能调用Lua5调试代码\u003c/p\u003e\n\u003cp\u003e选择左面的”用户工具”,点击右面的”添加”–“应用程序”之后,”菜单文本”填 Run_Lua5″命令”栏, 需要写明你步骤(2)安装的lua5系统的位置.在”参数”栏, 选择”文件路径”, 或者$(FilePath) …\u003c/p\u003e"
December 23, 2011
详解LUA开发环境配置
"\u003cp\u003e这里系统为centos6.2 的64系统.\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e#wget http://www.lua.org/ftp/lua-5.2.0.tar.gz\n# tar zxvf lua-5.2.0.tar.gz\n# cd lua-5.2.0\n# make\nPlease do \u0026#39;make PLATFORM\u0026#39; where PLATFORM is one of these:\naix ansi bsd freebsd generic linux macosx mingw posix solaris\nSee doc/readme.html for complete instructions.\n# make generic\n# make install\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e至此lua环境已经配置成功.下面我们测试一下,直接输入lua命令:\u003c/p\u003e\n\u003cpre tabindex=\"0\"\u003e\u003ccode\u003e# lua\nLua 5.2.0 Copyright (C) 1994-2011 Lua.org, PUC-Rio\n\u0026gt; print(\u0026#34;Hello Lua\u0026#34;)\nHello Lua\n\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003cp\u003e每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用.\u003c/p\u003e\n\u003cp\u003e你键入的每个 …\u003c/p\u003e"