2014-04-12 31 views
-1

我在理解如何將表單過程轉換爲匿名(匿名)過程時遇到問題。關於在線主題或示例沒有太多材料。誰能幫忙?將表單過程轉換爲匿名(匿名)過程

(let ((x 30)) 
    (let ((x (+ 5 25)) (y (* 5 x))) 
    (* x y 24))) 
+0

可能的重複[如何在Scheme中實現let作爲lambda函數](http://stackoverflow.com/questions/5059841/how-to-implement-let-as-a-lambda-function-in-scheme ) – GoZoner

回答

1
((lambda (x) 
    ((lambda (x y) 
     (* x y 24)) 
    (+ 5 25) (* 5 x))) 
30) 
0

「沒有關於這個問題的大量的材料在網上或例子。」

你試過在任何Scheme標準中查找let的定義嗎?

(define-syntax let 
    (syntax-rules() 
    ((let ((name val) ...) body1 body2 ...) 
    ((lambda (name ...) body1 body2 ...) 
     val ...)) 
    ;; ignore 'named-let' 
    )) 

上述不是解決您的家庭作業問題,但瞭解上述將允許您解決您的家庭作業問題。

+0

這就要求OP知道如何閱讀'語法規則'宏,如果他們只做101級課程,這不是他們擁有的技能。 :-P –