废话不多说,直接上案例!
某脚本文件为
if abc == 1 then
return "666"
else
return "888"
end
这个脚本之行后,会有一个返回值 “666” 或者 “888”
我们调用os.execute(XXX)执行此脚本
os.execute('lua XXXX.lua')
-- 返回值个数只有1个,0代表执行成功
可见 os.execute 没有有效的返回值。我们更换io.popen
io.popen
注意,此方法返回值是File,我们需要读取文件,然后关闭文件。
注意,我们脚本的return的内容不会有效,我们直接print(写在返回文件流的内容)即可!
特别强调:如果需要单行读取文件,使用文件对象:read()就是读取一行,nil就不要再读了
local returnfile = io.popen('lua XXX.lua')
local result = returnfile:read("*a")
returnfile.close()
可能直接写成(但是我不知道io.close()是不是一个对象,还是说io.close()将此线程的所有io对象全部关闭了)
local result = io.popen('lua XXX.lua'):read("*a")
io.close()
本文早期结束在此处,很多网上盗用我的文章的,就不会有下文了
if abc == 1 then
--return "666"
-- 你return个鸡毛,使用文件读取返回值的时候,使用print哦
print "返回的是我1"
else
--return "888"
print "返回的是我2"
end
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤