当前位置: 首页 > 工具软件 > Resty > 使用案例 >

resty 使用简介

上官扬
2023-12-01

最近接触公司的openResty项目,有的时候需要本地测试一些代码,可以用resty 命令行工具,跑一些代码,防止出现空指针

比如我遇到msg=/usr/local/mzfs/src/mzis-web/xxx.lua:2739: invalid value (nil) at index 3 in table for ‘concat’」,很明显就是 concat 中出现nil 改动代码后,造了一些数据,重新跑了一下错误代码。这个时候就可以 用resty.
resty的参考文档
resty 命令行工具演示

参考上面的例子后

resty -I mod/ ./test.lua
意思就是 -I 选项将 mod/ 目录添加到 Lua 模块搜索路径中,mod目录中 有自定义模块 fun(fun.lua)

test.lua就是本地的 我要测试的代码,内容如下
local functionUtil = require("fun")
local cjson = require "cjson"

print(5);
local   skus={};
local  t1={["contentType"]="7",["contentId"]="7777"};
local  t2={["contentType"]="7",["contentId"]="8888"};
local  t3={["contentType"]="7",["contentId"]="999"};
local  t4={["contentType"]="8",["contentId"]=""};
local  t5={["contentType"]="9"};
local  t6={["contentType"]="7",["contentId"]="444"};
local  t7={["contentType"]="19",["contentId"]="444"};
skus[1]=t1;
skus[2]=t2;
skus[3]=t3;
skus[4]=t4;
skus[5]=t5;
skus[6]=t6;
skus[7]=t7;

print(#skus)
print(cjson.encode(skus))

            local videoIdList = {};
			local tmp = 1;
			local sku_index = 1;
			while sku_index <= #skus do
				if skus[sku_index]["contentType"] == "7" then
                   
					-- functionUtil 就是自定义模块
					if functionUtil.isNotBlack(skus[sku_index]["contentId"]) then
                       
						videoIdList[tmp] = skus[sku_index]["contentId"];
                        print("tmp"..tmp);
						tmp = tmp + 1;
					end
				end
				sku_index = sku_index +1;
                
			end
			-- Id 拼接
			local videoList_str = table.concat(videoIdList,",");
           -- 一些打印语句
            print(cjson.encode(videoIdList))
            print(#videoIdList);
           
            print(videoList_str);
            print(111);
            print(3);
 类似资料: