比方說,我有名單的方案列表,像這樣:迭代方案
(define a-list (list (list a b) (list c d) (list e f) (list g h) (list i j)))
我怎麼會去有關定義,將消耗該列表,這樣我可以用另一個函數消費函數列表中的每個字母?
舉例來說,我有另一個功能
(define (smorg a)
(...))
所以,我怎麼去這樣做smorg一個,smorg B,smorgç...?
比方說,我有名單的方案列表,像這樣:迭代方案
(define a-list (list (list a b) (list c d) (list e f) (list g h) (list i j)))
我怎麼會去有關定義,將消耗該列表,這樣我可以用另一個函數消費函數列表中的每個字母?
舉例來說,我有另一個功能
(define (smorg a)
(...))
所以,我怎麼去這樣做smorg一個,smorg B,smorgç...?
你正在使用什麼課本?
如果答案是如何設計程序,然後按照設計配方。特別是,你需要一個數據定義;數據定義用於生成一個模板,該模板準確告訴您如何獲得遞歸權。
如果你不使用HtDP,我強烈建議你給它一個閱讀。該書可在線獲取,網址爲:http://www.htdp.org/。然後按照設計配方。特別是,你需要的數據定義等等等等等等
在任何情況下,這裏有一個提示:永遠,永遠使用的list
功能你掌握遞歸之前。不在你的功能中,甚至不在你的例子中。它會阻礙你。使用cons
和empty
構建您的列表。
我對Scheme非常陌生(並在此遞歸)。到目前爲止,我已經嘗試過bruteforce方法,例如,smorg(第一個(第一個列表),smorg(第二個(第一個列表))等等。我只想以某種方式自動化這個過程 – arkate