4
A
回答
6
最好的選擇是讀取let,let *和letrec的official R5RS descriptions。
總之,但是:
(let ((x 2))
(let ((x 3) (y x))
y) => 2
(let ((x 2))
(let* ((x 3) (y x))
y) => 3
所以,讓讓之間的差異*:咱們都將對於綁定評估上述水平(因此它不會不管他們正在上市爲了什麼in),讓*按順序執行。 (let *((xa)(by)))等價於(let((xa))(let(by)))
另一方面,Letrec允許您綁定遞歸值。你可能會寫一個遞歸函數,你只想在函數範圍內,並使用letrec將它綁定到一個名字上。
相關問題
- 1. 方案 - 使用let的函數
- 2. letrec的常見用法,名爲let和internal定義?
- 3. 何時使用Clojure中的let vs if-let
- 4. let cond
- 5. F#:模塊let和類型static let有何區別?
- 6. 創建本地綁定的'let'或'letrec'和'define'之間有什麼區別?
- 7. Clojure:when-let的快捷方式
- 8. 「let」和「static let」之間的區別是什麼?
- 9. 爲什麼when-let和if-let默認支持多個綁定?
- 10. Scheme Let語句
- 11. Elisp:bounds in let
- 12. 「let」綁定不適用於後續的「let」綁定?
- 13. 用多個let塊輸入'let'解析錯誤
- 14. Linq - 如何通過'let'值進行分組,然後求和'let'值
- 15. JSFiddle上的Javascript「let」
- 16. 什麼時候應該在TypeScript中使用「var」,「let」和「const」
- 17. let在Haskell中的用法
- 18. Emacs-let-alist不可用
- 19. 如何使用let返回scarlar作爲方法
- 20. 使用Rspec let進行測試失敗
- 21. 破壞地圖(使用let關鍵字)
- 22. 如何使用let綁定方式在SML中定義常量?
- 23. 爲什麼在函數中使用* let *?
- 24. 聚合。在$ match裏面使用$ let
- 25. 爲什麼在使用let(ES6)時不需要使用閉包?
- 26. 解決讓let關鍵字?
- 27. Swift:分解「case let ...」語句
- 28. 有沒有辦法在內聯方法中使用let語句?
- 29. 懶惰var和let之間的區別
- 30. define,let和set之間的區別!