末尾再帰とループ
正直好みの問題な気もするが自分が思う所の利点。
- 末尾再帰
- ループ変数不要と言うか再帰関数の引数化して関連付けが明確になる
- 関数として定義し易い*1
- 良く良く見れば再帰関数呼び出しは goto のラベルと同じだったり
この辺りに利点を感じられないなら別にループでもいいのかなと思わなくもない。
自分は再帰可能な部分は再帰にしたい。もちろんスタック消費しなければの前提だが。
ループもループ変数がループ構文と離れてなけりゃまあ構わない。
余談だが VBA が嫌な理由の一つに Option Explicit とループ変数の相性が悪いという所に
これ書いてて気づいた。VB.net ではどうなってるのか知らんけども。
*1:別にループ構文が関数化できないと言う話でなく