さて、Scheme を使用して、各 [number] がリスト内に出現した回数を数えたいと思います。
どうやってやるの ?また、指定された番号のカウンターを保存して、新しいリストを再構築したいと思います。
たとえば、次のリストがあります((1 2)(2 5)(5 7)(7 8)(6 8)(4 6)(3 4)(1 3)(4 8))
最初にリストを平坦化してから、各番号にカウンターを設定することを考えていました(方法がわからない)。そして、元の番号に対応する新しいリストを再構築します。(これは難しいかもしれません。一時変数を保存する必要がありますか?)
この例から、番号 1 が 2 回表示され、番号 2 が 2 回表示され、番号 3 が 2 回表示されるなどと言うと、新しいリストを次のように再作成したいと思います。
(1 2) (2 2) (3 2) (4 3) (5 2) (7 2) (6 2) (8 3)
どうすればこれを達成できますか?
アップデート:
このようなインクリメントカウンターヘルパーを実装することを考えていましたか?
(define inc-counter
(let ((counter 0))
(lambda () (set! counter (+ counter 1)))))