Lua:具有多个返回值的函数

因为某些原因,我无法理解如何在函数中正确使用参数,以及稍后调用该函数并返回正确的参数。如果我想要使用一个函数来找出使用的形状的类型。该形状在缩写后面直接包含数据,例如 Sq105428,我想使用。快速例子:

function Shape(...) -- 我可以使用“…”还是应该在内部放置“Type,Shape_data,Shape_side”?
    Shapes = {["Tri"] = 3,["Sq"] = 4,["Po"] = 5,["Hex"] = 6}
        for k,v in pairs(Shapes)do
            Type = string.match(input,k..".*")
                if Type == k then
                    Shape_data = string.match(input,Type ..“(.*)”
                    Shape_side = v
                end
        end
        return Type,Shape_data,Shape_side -- 我可以在我的代码中调用它们吗?
end

稍后,我会调用返回的变量并使用它们。我遇到了问题,不理解如何正确调用那些被返回的变量。在我的代码中,我想使用这三个变量,并在代码的不同点使用它们。我应该如何正确调用它们?

我明白:

function f() body end  ==  f = function() body end -- pg 15 PIL and helps me to understand

我也明白如何正确使用数学函数,例如:

function exp(x)
    print x^2
end

print exp(4) -- 结果为16

但是,如果我想使用示例,并在以后调用这三个变量,应该采取什么样的适当方式?我完全不明白如何正确构建函数调用并稍后调用该函数。像这样简单吗:

Example = math.floor(math.pi * Shape(Shape_side)+ 0.5-- 这样可以吗?

谢谢您的帮助。

点赞