末尾再帰なら安心でしょ?って信じてたSwiftコードが落ちた夜
再帰って便利ですよね。関数の最後に再帰呼び出しを置く「末尾再帰」なら、スタックも節約されて、ループと同じくらい効率的に動く。 そんなふうに信じていた時期が、私にもありました。 「末尾再帰なら安心!」と信じて書いたSwiftのコード。動作確認もOK、見た目もスッキリ、ところがある日、ちょっと大きな値を渡…