From b22b0e019445ef00470f8292c2b24b74b9ef1e77 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Mon, 6 Dec 2021 19:52:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E6=96=87=E4=BB=B6=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E6=A8=A1=E5=9D=97=E5=8F=82=E6=95=B0=E8=AF=86=E5=88=AB?= =?UTF-8?q?=E7=9A=84=E5=B0=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Zframework/file.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Zframework/file.lua b/Zframework/file.lua index 15386b7d..a0129642 100644 --- a/Zframework/file.lua +++ b/Zframework/file.lua @@ -6,7 +6,14 @@ function FILE.load(name,args) local F=fs.newFile(name) assert(F:open'r','open error') local s=F:read()F:close() - if args:sArg'-luaon'or args==''and s:sub(1,6)=='return{'then + local mode= + args:sArg'-luaon'and'luaon'or + args:sArg'-json'and'json'or + args:sArg'-string'and'string'or + s:sub(1,6)=='return{'and'luaon'or + (s:sub(1,1)=='['and s:sub(-1)==']'or s:sub(1,1)=='{'and s:sub(-1)=='}')and'json'or + 'string' + if mode=='luaon'then local func=loadstring(s) if func then setfenv(func,{}) @@ -15,13 +22,13 @@ function FILE.load(name,args) else error('decode error') end - elseif args:sArg'-json'or args==''and s:sub(1,1)=='['and s:sub(-1)==']'or s:sub(1,1)=='{'and s:sub(-1)=='}'then + elseif mode=='json'then local res=JSON.decode(s) if res then return res end error('decode error') - elseif args:sArg'-string'or args==''then + elseif mode=='string'then return s else error('unknown mode')