Scheme pass-by-reference
问题 How can I pass a variable by reference in scheme? An example of the functionality I want: (define foo (lambda (&x) (set! x 5))) (define y 2) (foo y) (display y) ;outputs: 5 Also, is there a way to return by reference? 回答1: See http://community.schemewiki.org/?scheme-faq-language question "Is there a way to emulate call-by-reference?". In general I think that fights against scheme's functional nature so probably there is a better way to structure the program to make it more scheme-like. 回答2: