seasoned-schemer

    2熱度

    1回答

    以下函數從的第150頁的經驗證示意圖通過變更每個列表的cdr來確定兩個列表是否具有相同的身份(即佔用相同的內存),然後檢查是否變化已經影響到這兩個: (define same? (lambda (c1 c2) (let ((t1 (cdr c1)) (t2 (cdr c2))) (set-cdr! c1 1) (set-cdr! c2 2) (

    8熱度

    1回答

    這裏有幾個問題,關於letcc在The Seasoned Schemer中使用。 (define (intersect-all sets) (letcc hop (letrec ((A (lambda (sets) (cond ((null? (car sets)) (hop '()) ((null? (cdr sets

    1熱度

    2回答

    請看一看two-in-a-row*?功能在第19章 我的問題是關於在get-first輔助函數的(leave '())。請注意,(waddle l)將返回'()或原子,這表明列表已用盡或列表中的原子被檢索到。 沒有(leave '())它仍然會返回這兩種值,只是不使用延續leave。但書中說沒有(leave '())是壞的,我只是不明白爲什麼。 ​​3210 非常感謝。 關於這個問題的另一個有趣的