2

何らかの理由で、関数でパラメーターを使用し、後でその関数を呼び出して正しいパラメーターを返す適切な方法に頭を悩ませています。関数を使用して、使用されている形状の種類を調べたい場合。この図形には、Sq105428 など、図形の略号の直後に使用したいデータが含まれています。簡単な例:

function Shape(...) -- can I use "..." or should I put "Type, Shape_data, Shape_side" inside?
    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 -- can I call for these later in my code?
end

後で、返された変数を呼び出して使用します。返された変数を適切に呼び出す方法を理解するのに問題があります。私のコードでは、3 つの変数をコード全体で使用したいと考えています。どうすれば適切にそれらを呼び出すことができますか?

という事は承知しています:

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) -- yields 16

しかし、コードの異なるポイントで 3 つの変数を使用したい場合、私の例を呼び出す適切な方法は何でしょうか? 関数呼び出しを適切に構築し、後でそれを呼び出す方法を完全に理解するのに問題があります。次のように簡単ですか:

Example = math.floor(math.pi * Shape(Shape_side) + 0.5) -- is this ok?

助けてくれてありがとう。

4

1 に答える 1