关系表达式,具有来自具有多个结果的函数的表条目,而没有额外的变量?

问题描述

我想比较一个函数返回的带有固定字符串的表条目。如果我先将结果存储在一个变量列表中,它将起作用。 为什么不可能将其作为单行表达式。有更好的方法吗?

-- similar to function provided by an API
local testFunction = function()
    return true,{name = "hans"}
end

--works
local a = {testFunction()}
if a[2].name=="hans" then
    --do something
end

--doesn't work
if {testFunction}[2].name=="hans") then
    --do something
end

解决方法

添加括号即可解决问题

if ({testFunction()})[2].name=="hans" then
    --do something
end

谢谢Egor Skriptunoff的评论