私はあなたがメモリのスロットに何かを入力するメモリシステムを作ろうとしています。つまり、私が行っているのはAlistを作成することであり、ペアの車はメモリの場所であり、cdrはvalです。読み取りと書き込みの2つのメッセージを理解するためのプログラムが必要です。選択したメモリ位置とその位置に割り当てられた値を表示するだけで読み取りと書き込みにより、位置またはアドレスの値が変更されます。コードを作成して、目的の場所を読み取り、目的の場所に書き込むにはどうすればよいですか?これを自分でテストしてください。どんな助けでも大歓迎です。これは私が持っているものです:
(define make-memory
(lambda (n)
(letrec ((mem '())
(dump (display mem)))
(lambda ()
(if (= n 0)
(cons (cons n 0) mem) mem)
(cons (cons (- n 1) 0) mem))
(lambda (msg loc val)
(cond
((equal? msg 'read) (display
(cons n val))(set! n (- n 1)))
((equal? msg 'write) (set! mem
(cons val loc)) (set! n (- n 1)) (display mem)))))))
(define mymem (make-memory 100))