如何傳遞位置無關參數到方案功能?位置獨立參數到方案功能
2
A
回答
2
在PLT的計劃,你可以使用:
(define area
(lambda (x #:width y)
(* x y)))
(area 3 #:width 10)
或
(area #:width 10 3)
都將返回30
0
我不是一個計劃大師,但我在想參數需要是一對而不是一個原子,然後你從你的對中創建一個參數列表並使用一個let塊將這些值綁定到實際參數。而且,對於所有美麗的愛情來說,調用一個輔助函數以正確的順序完成實際的參數工作,因爲在遞歸中調用get-param會變得昂貴。
(define get-param (lambda (name pair-list)
(cond ((null? pair-list) nil)
((eq? name (caar pair-list)) (cadr (car pair-list)))
(t (get-param name (cdr pair-list))))))
; position independent subtract always subtracts y from x
; usage (f '(x 7) '(y 9)) => -2
; (f '(y 9) '(x 7)) => -2
(define f (lambda (x-pair y-pair)
(let ((pl (list x-pair y-pair))
(let ((x (get-param 'x pl)) (y (get-param 'y pl))
(- x y)))))
有人誰是真正的聰明會使這將需要一個任意lambda表達式,並從它建立一個相當於位置無關的拉姆達一個工廠函數。
1
有沒有在計劃這個沒有標準的支持,但看看this
相關問題
- 1. 設置隨機種子獨立功能
- 2. C++獨立式的功能
- 3. 什麼是獨立功能?
- 4. HBase獨立模式功能
- 5. 地理位置功能參數行爲
- 6. 功能方案
- 7. 方案功能
- 8. PIC(位置獨立代碼)
- 9. 代碼Coveragein獨立解決方案
- 10. Java GUI解決方案獨立縮放
- 11. 在一個單獨的參數功能
- 12. 原子功能沒有鎖來改變兩個獨立的存儲位置
- 13. 獨立調用點擊功能
- 14. g ++ undefined引用一個獨立功能
- 15. 控制器獨立的步進功能
- 16. 獨立層像QGraphicsView上的功能
- 17. 如何編寫獨立功能測試
- 18. JSON stringify獨立功能的JavaScript
- 19. Java的獨立方法找到素數
- 20. 案例獨立分揀
- 21. Apache ProxyPass:獨立vs位置標籤?
- 22. 位置獨立字符串匹配
- 23. 向量中的獨立對象位置
- 24. 如何建立解決方案獨立網站?
- 25. 方案功能 - 奇數總和?
- 26. jQuery的運行的onClick功能作爲獨立的功能
- 27. C#內置VS - 獨立的API參考?
- 28. 提取方法,以獨立的功能斯卡拉
- 29. PLT方案排序功能
- 30. 方案壓縮功能
有沒有辦法改變它?我知道我的命名參數與正在使用的參數相同。 (foo#:a 1#:b 0#:c 10) (foo#:a 1#:b 0#:c c) (+ a c) – unj2 2009-06-25 18:03:02