なあ、再帰関数好きな人いる? パート2 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0340デフォルトの名無しさん
2015/09/12(土) 20:22:48.64ID:eSqErBQB求める配列の長さが本質的に不明なら、泥臭いことをせずにArrayListを使うべきじゃないのか。
recursiveを動かしてみたのか。loopバージョンを機械的に変形させようとして失敗しているがいいのか。
ADTもパターンマッチも無い言語で、対象が再帰的な型でない処理は無理して再帰にする必要性は無い。loopバージョンで十分。
けど再帰が使いやすい言語で再帰に適した処理を行うとき、変数のスコープが云々っていう主張はよく分からなくなる。
>>338のloopと同じ挙動のコードを再帰で素直にOCamlで書くと、
http://ideone.com/ItSSmZ
みたいになる。
添字outer, innerのような何を指しているのか見づらい変数や、a[outer++] = a[inner]というような破壊的代入が無い分、
何がしたいのか>>338より分かりやすくないか?分かりやすい分だけ、信頼性の向上にも寄与していると思うがな。
■ このスレッドは過去ログ倉庫に格納されています