- 606 名前:教えて厨 [2005/10/01(土) 16:54:07 ]
- 質問。
(-1 3 2 5 3 -3 -4) というようなリストがあるとしますよね。 これを ((-1 -3 -4) (3 2 5 3))というように負数と正数で別々のリストに分類したい。 これ、負数だけとりだす関数と正数だけ取り出す関数を作って、 それをlistすれば簡単にできるけど、 再帰関数ひとつだけで作る方法もあるんだよね?? それってどうやるの? letやlet*なんかでnilとかに初期化した変数って、再帰で呼び出すと 再帰呼び出し先でもまたnilとかになるの? 再帰呼び出し先で再帰呼び出し元での変数の値が引き継がれるような方法 があればうまくやれそうなんだけどなあ。 みなさんなら、どうやって再帰関数一つだけで、上のような処理を実装できますか
|

|