Dr.Scheme의 Pretty Big을 사용하는이 코드에 어떤 문제가 있습니까? 나는 문제없이 비슷한 일을하는 것을 기억하는 것 같습니다. 내가 내 목록이 실제로 변경되지 않습니다 물론 제외하고 잘 작동 (set! (Frame-variables res) ...)
부분을 생략하면"set !: 식별자가 아닙니다 : ..."plt 스키마 오류
set!: not an identifier in: (Frame-variables res)
: 다음과 같은 오류를 반환
(lambda (x y) (set! (Frame-variables res) (append (Frame-variables res) (list (cons x y)))))
. 그래서 그것은 두 번째 (Frame-varialbes res)
을 인식하지만 첫 번째 것은 인식하지 못합니까? 그 맥락에서 set!
과 어떤 거래가 이루어 집니까?
잘하면 내가 Frame
이라는 구조체가 있고 variables
필드가 목록임을 알고 있습니다.
좋은 대답하지만, 모두 제공-srfi 17 사취 참조 그러한 "일반화 된"집합! 일반적으로 돌연변이를 피할 수 있으면 사용하지 말아야 할 때가 있지만, 그렇게하는 것이 도움이 될 수 있습니다. 일반화 된 setter의 한 가지 이점은 매우 유용한 'inc!'매크로를 작성할 수 있다는 것입니다. –