【发布时间】:2019-06-18 17:00:51
【问题描述】:
我实际上是在尝试创建一个函数来测试我给出的第一个位置,格式如下:
myComputer.referenceLookup("/address/x/text")
如果它不是 NULL 或“None”或“”(空),则返回该位置的字符串。
如果没有,我希望它测试下一个可能的位置:
myComputer.referenceLookup("/address/1/x/text")
否则,我希望它返回一个空字符串 ("")。
我尝试查看 Lua Manual 并在 repl.it 中测试不同的表单无济于事,但不幸的是,我无法像通常在测试时那样复制类似的示例。
function firstLine(x)
if myComputer.referenceLookup("/Address/ .. (x) .. /text") != NULL or "None" or "" then
return myComputer.referenceLookup("/Address/ .. (x) .. /text")
elseif myComputer.referenceLookup("/Address/1/ .. (x) .. /text") != NULL or "None" or "" then
return myComputer.referenceLookup("/Address/1/ .. (x) .. /text")
else
return ""
end
end
myComputer.out.firstHouseNumber = firstLine(housenumber)
值得注意的是,我引用事实的通常方式如下:
myComputer.out.firstHouseNumber= myComputer.referenceLookup("/Address/housenumber/text")
或
myComputer.out.firstHouseNumber= myComputer.referenceLookup("/Address/1/housenumber/text")
我使用的平台不会抛出错误,它只会返回空白而不是运行 lua 脚本,因此我无法调试(因此通常使用 repl.it)。
我知道这使它成为一个抽象的问题,但如果有人知道我如何做我所描述的事情,将不胜感激。
【问题讨论】:
-
当您说
return the string in that location时,您的意思是您要阅读文本文件并返回内容吗?还是只返回经过验证的路径? - 关于您的问题的旁注:firstLine 的 lua 示例不是有效的 lua。使用NULL而不是nil、!=而不是~=和"/Address/ .. (x) .. /text"不会达到预期的效果(它缺少一些额外的") -
@Nifim,理想情况下,返回该位置的字符串,我关于 != 和 ~= 的错误,我一直在从系统使用的 DSL 转换为 Lua 并且令人困惑, ~= 用作大约。相等!
标签: lua lookup file-location