首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从另一个Lua脚本中运行具有用户指定参数的Lua脚本?

如何从另一个Lua脚本中运行具有用户指定参数的Lua脚本?
EN

Stack Overflow用户
提问于 2017-03-09 17:31:26
回答 2查看 1.6K关注 0票数 2

如何从另一个Lua脚本中运行具有用户指定参数的Lua脚本?

下面的代码有效吗?其中"content_image“是我指定的输入映像(或者保存到图像文件中,或者仍然保存在脚本中)到"deepdream.lua”脚本,而"output_image“是我想在Lua脚本中使用的"deepdream.lua”脚本的输出。

代码语言:javascript
复制
dofile("deepdream.lua -content_image content_image -output_image output_image")

我正在另一个Lua脚本中运行的脚本可以在这里找到:https://github.com/bamos/dream-art/blob/master/deepdream.lua

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-09 17:41:37

如果您想通过传递多个参数来加载和执行一个脚本,您必须通过.通过传递多个参数加载脚本并执行它:

代码语言:javascript
复制
local chunk = loadfile("deepdream.lua")
chunk("-content_image", "content_image", "-output_image", "output_image")

请注意,这不会像args那样为参数填充lua.exe。它将把参数作为可变参数传递,就像任何其他Lua函数一样。所以它可以扰乱你的全球等等。而且,与执行lua.exe不同,这将在当前进程中执行,因此,如果出现错误,则必须由您处理该错误。

如果您愿意的话,编写一个使用您提供的字符串、使用Lua模式解析参数等的函数,然后用这些参数加载脚本,这并不困难。

如果您想像在脚本上使用lua.exe那样执行脚本,那么只需使用os.execute

代码语言:javascript
复制
os.execute("lua.exe deepdream.lua -content_image content_image -output_image output_image")
票数 3
EN

Stack Overflow用户

发布于 2017-03-09 18:11:31

您可以在arg中对参数使用loadfile:

代码语言:javascript
复制
loadfile("deepdream.lua")({content_image="content_image",output_image="output_image"})

在deepdream.lua中:

代码语言:javascript
复制
local arg={...}

local content_image = arg[1].content_image
local output_image  = arg[1].output_image
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42701835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档