Scheme 框架变量与框架值相关
部分 哪一个可以制作框架 环境的每一帧都表示为一对列表:一个列表 在该框架中绑定的变量的 价值观 所以帧变量和帧值是存储的,但是以一种可区分的方式,它们不像hashmap结构中那样相互关联Scheme 框架变量与框架值相关,scheme,sicp,Scheme,Sicp,部分 哪一个可以制作框架 环境的每一帧都表示为一对列表:一个列表 在该框架中绑定的变量的 价值观 所以帧变量和帧值是存储的,但是以一种可区分的方式,它们不像hashmap结构中那样相互关联 框架变量和相关值如何相互连接?如果x=2,y=7,z='foo,那么如果框架变量是列表(x z y),那么框架值就是列表(2 foo 7) (define (make-frame variables values) (cons variables values));; (define (frame-var
框架变量和相关值如何相互连接?如果x=2,y=7,z='foo,那么如果框架变量是列表(x z y),那么框架值就是列表(2 foo 7)
(define (make-frame variables values)
(cons variables values));;
(define (frame-variables frame) (car frame))
(define (frame-values frame) (cdr frame))
(define (add-binding-to-frame! var val frame)
(set-car! frame (cons var (car frame)))
(set-cdr! frame (cons val (cdr frame))))