我從來沒有使用任何其他實現,但GIMP的腳本-fu,我甚至對GIMP的計劃來說也是新的。所以,也許我錯了。但是,下列不腳本富控制檯工作:如何在GIMP計劃中取消引用
(define x 13)
(define s 'x) ; or (define s `x)
,s => Error: eval: unbound variable: unquote
同樣
(unquote s) => Error: eval: unbound variable: unquote
在我看來,這「」是計劃工作,但所享有一直沒有實施。 如果是這樣,我該如何解決以下問題?
(define x 13)
(define y 7)
; define procedure to swap x and y
(define (swap)
(let ((t 0))
(set! t ,'x)
(set! x ,'y)
(set! y t)
)
)
這應該多次運行,所以(設置T!X)...將無法正常工作。
在任何實現中,'unquote'不會以您認爲的方式工作。另外,我不明白你的意思是「(set!t x)'不起作用」。 –
特別是,['unquote'不是'eval'](http://stackoverflow.com/q/18515295/13),您也不應該使用'eval'。 –
我先嚐試過'(set!t x)',但沒有奏效。它只將值交換一次,永不再次。我認爲值x和y已經在「定義時間」中進行了評估。現在我又試了一次,並且工作。我不知道,我做錯了什麼。謝謝。 – FERcsI