OC-PsychOS/modules/lib/shutil.lua

32 lines
680 B
Lua

local shutil = {}
function shutil.genenv()
local et = os.genenv()
for k,v in pairs(shutil) do
if k ~= "genenv" then
et[k] = v
end
end
return et
end
function loadfile(fn)
local f=io.open(fn,"rb")
if not f then return false, "cannot read file" end
local S=f:read("*a")
f:close()
return load(S,"=("..fn..")","bt",os.genenv())
end
function run(fn,...)
local lf = loadfile(fn)
if not lf then return false, "cannot load file" end
local r = {pcall(lf,...)}
if r[1] == true then
table.remove(r,1)
end
print(table.unpack(r))
end
function srun(fn,...)
local lf = loadfile(fn)
if not lf then return false, "cannot load file" end
spawn(fn,print(pcall(lf,...)))
end