例如,如果您嘗試(+ 3 4)
,它是如何在源代碼中進行細分和計算的,具體如何?它是否使用add1
遞歸?添加如何在球拍/方案中工作?
3
A
回答
8
+
的實現實際上比您預期的要複雜得多,因爲算術在Racket中是通用的:它適用於整數,有理數,複數等等。你甚至可以混合和匹配這些類型的數字,它會做正確的事情。最後,它最終將在C,這是什麼樣的運行系統是寫在使用算術
如果你好奇,你可以找到更多的數字塔在這裏的膽:https://github.com/plt/racket/blob/master/src/racket/src/numarith.c
其他指針:Bignum arithmetic,方案numeric tower,球拍參考numbers。
6
+
運算符是原語操作,是核心語言的一部分。出於效率的原因,將它作爲遞歸過程來實現是沒有多大意義的。
相關問題
- 1. 覆蓋在方案(球拍)
- 2. 如何獲得最新方案/球拍?
- 3. 球拍/方案列表操作
- 4. 在方案球拍中乘以Big-int
- 5. 方案(球拍) - 循環庫
- 6. 球拍/方案過濾
- 7. 方案/球拍:倍布爾
- 8. 球拍VS方案宏
- 9. 球拍/方案:與結構
- 10. eq如何?在球拍工作?
- 11. 球拍/方案中的zip函數
- 12. 方案:球拍中的循環功能
- 13. printf%6.2f在方案或球拍?
- 14. 如何檢索球拍/ PLT方案中的按鈕標籤?
- 15. 方案/球拍:不做評價
- 16. 包含球拍/方案內的文件
- 17. 方案/球拍:可擴展功能
- 18. 球拍/方案C++擴展和繼承
- 19. 二叉樹中的方案/球拍操作(+, - ,*,/)
- 20. 如何在球拍中添加一個數字到字符串?
- 21. VIM的編程方案(球拍) - 如何開始
- 22. 如何使用球拍/方案建立滾動窗口程序?
- 23. emacs方案球拍自動重新加載文件
- 24. 在球拍/方案中的語言嵌套循環
- 25. 運營商在球拍/方案中重載
- 26. 球拍/方案在現有列表中嵌入列表
- 27. 檢測方案或球拍中功能的主叫方
- 28. 如何在球拍(方案)中將列表拆分成均勻大小的塊?
- 29. 解釋球拍中的圖案匹配?
- 30. 如何獲得在球拍
+1用於參考代碼 – Eineki