私は(理論的には)再帰を使用しなければならない単純なメソッドをSchemeに持っています。問題は、再帰部分を理解できないように見えることです...「ポインター」と任意の多くの引数を取るプロシージャがあり、引数を1つずつ別のメソッドに渡す必要があります。これが私がこれまでに得たものです:
(define (push-elements ptr . args)
(define (push-all ptr list)
(if (null? list)
'()
(ptr 'push-elements (car list))))
(push-all ptr list))
ここに再帰がないことはわかっていますが、どこに再帰を配置するか/どのように実行するかがわかりません。考えは明らかです。'push-all' 内で呼び出す必要があります。
(push-all ptr (cdr list))
誰かが私を助けることができれば (そして、このような再帰的な方法を作成する方法についての説明に非常に感謝します)、それは素晴らしいことです.