我在理解如何將表單過程轉換爲匿名(匿名)過程時遇到問題。關於在線主題或示例沒有太多材料。誰能幫忙?將表單過程轉換爲匿名(匿名)過程
(let ((x 30))
(let ((x (+ 5 25)) (y (* 5 x)))
(* x y 24)))
我在理解如何將表單過程轉換爲匿名(匿名)過程時遇到問題。關於在線主題或示例沒有太多材料。誰能幫忙?將表單過程轉換爲匿名(匿名)過程
(let ((x 30))
(let ((x (+ 5 25)) (y (* 5 x)))
(* x y 24)))
((lambda (x)
((lambda (x y)
(* x y 24))
(+ 5 25) (* 5 x)))
30)
「沒有關於這個問題的大量的材料在網上或例子。」
你試過在任何Scheme標準中查找let
的定義嗎?
(define-syntax let
(syntax-rules()
((let ((name val) ...) body1 body2 ...)
((lambda (name ...) body1 body2 ...)
val ...))
;; ignore 'named-let'
))
上述不是解決您的家庭作業問題,但瞭解上述將允許您解決您的家庭作業問題。
這就要求OP知道如何閱讀'語法規則'宏,如果他們只做101級課程,這不是他們擁有的技能。 :-P –
可能的重複[如何在Scheme中實現let作爲lambda函數](http://stackoverflow.com/questions/5059841/how-to-implement-let-as-a-lambda-function-in-scheme ) – GoZoner