0

私は自分自身が繰り返しよりも機能的にプログラミングしていることに気づき、計算を繰り返す関数を書くことがよくあります。例えば、

function DoThis(a)
    if something(a) - another(a) - yetanother(a) > 0 then 
        return something(a) - another(a) - yetanother(a) 
    else 
        return 0 
    end 
end

結果が数回以上使用されない場合、私はこれを頻繁に行います。一般に、計算を変数に割り当てる方が効率的ですか?

function DoThis(a)
    local x = something(a) - another(a) - yetanother(a)
    if x > 0 then 
        return x 
    else 
        return 0 
    end 
end

この場合の違いはおそらく無視できるものだと理解していますが、最初から良い習慣を身に付けることに興味があり、物事が積み重なって複雑になるにつれて、違いはかなり大きくなる可能性があります.

4

2 に答える 2

2

計算の結果 (関数の戻り値) が複数回必要な場合は、再計算する代わりに変数に格納することをお勧めします。特に、関数が非常に複雑で、そのためにリコールの計算に時間がかかる場合は、パフォーマンスを向上させるためにリコールを避ける必要があります。

于 2013-05-28T12:29:28.850 に答える