ループ置換としての再帰
再帰とは、サブルーチンに含まれる命令を繰り返し実行することです。そして、これはサイクルの働きに似ています。ループ構造がまったく存在しないプログラミング言語もあります。たとえば、プロローグ。
ループ for
の動作をシミュレートしてみましょう。
for
ループには、ステップ カウンター変数が含まれています。再帰サブルーチンでは、このような変数をパラメーターとして渡すことができます。
<プレ>
# 2 つのパラメータを持つプロシージャ LoopImitation()
# 最初のパラメータ –ステップ カウンター、2 番目のパラメーター –総ステップ数
def LoopImitation(i, n):
print("Hello N", i) # i の任意の値に対して繰り返されるステートメント
もし私が< n: # ループカウンターが値nに等しくなるまで、
LoopImitation(i + 1, n) # プロシージャの新しいインスタンスを呼び出します。
# パラメータ i+1 を使用 (次の値 i に移動)