lisp

    2熱度

    1回答

    我在做exercise 3.13 from SICP但我不確定我的答案。 練習3.13:考慮下列使循環過程,它使用 在練習3.12所定義的最後一對程序: (定義(使循環x)的(設定CDR(最後所對x)x)的x)的 繪製的箱和指針圖,其示出了由 (定義Z(使循環(列表 'A' b「創建的結構z對於C))) 如果我們發生什麼事嘗試計算(最後一對z)? 我試圖理解爲什麼 (last-pair z)

    0熱度

    1回答

    我給出了對lisp-like語言的遞歸閉包建模的兩種方法的描述。假設我有以下代碼: (letrec ((f (fun (l) … (map f l) …)))) …) 對於與f關閉我能: 款待f作爲自由變量,並把它放在自己的環境,這導致環閉合。 平坦的封閉,環境是封閉的,可以直接重複使用。 我正在使用扁平關閉的概念,它在其第一個單元格中存儲一個指向函數的指針,其餘的自由變量。但我對第二種選擇感

    1熱度

    1回答

    我正在使用函數mapcar和apply進行一些LISP練習。我正在處理矩陣,我必須總結它的行和列。對於我有: (apply #'mapcar #'+ matrix) 這是行得通的。因爲我知道如何轉置一個矩陣,我可以爲行做同樣的事情嗎?沒錯,這將是: (apply #'mapcar #'+ (apply #'mapcar #'list matrix)) 但我不開心與。我想直接總結該行,所以我

    2熱度

    1回答

    在我的課上,對於最後的項目,我們正在努力改進匹配前綴的算法,其功率爲2 (IE input =「25」,output =「2^8 = 256」,input =「99」,output =「2^99 = 9903520314283042199192993792 ...」) 無論如何,我們依靠對數來標識匹配的前綴。對數精度實際上很重要,我們正在尋找更好的日誌功能。標準的日誌功能和計算功能都具有相同的精度

    -1熱度

    1回答

    我對Common Lisp和Lisp是一個全新的概念。我有一個使用Common Lisp編寫的任務,甚至無法知道如何開始。我的程序將從1到9的字符串格式的數字,他們將有一個字拼寫錯誤,但正確的長度;例如: too -> 2 threa -> 3 等等。當我給出錯誤的文本時,我需要打印整數,我真的不知道如何開始。任何幫助,將不勝感激。 在此先感謝。

    0熱度

    1回答

    我第一次學習Scheme,對於練習我試圖編寫一個程序,返回一個指定長度的列表,其中所有值等於1.我使用MIT在Windows 10/GNU埃德溫·編輯下面是我輸入的代碼: (define (listlength n) (if (= n 1) (list 1) (append (list 1) (listlength (- n 1))))) (listlengt

    2熱度

    2回答

    我一直在試圖找到一種方法來做一個「步驟」評估。我在哪裏調用一個函數,並且它將評估常見lisp的最多嵌套列表。 例如: '(+ 2 (+ 3 4)) ; would eval to: '(+ 2 7) 在該示例中,它只是評價3 + 4並停止在那裏。它不會像lisp通常會做的那樣繼續評估2 + 7。 所以我想要代碼找到最嵌套的列表,並評估最嵌套的列表,而無需評估整個列表。 例如: '(+ 2

    1熱度

    1回答

    這裏是代碼及其對方案口齒不清 (define (rdup ls) (let loop ((ls ls) (current #f)) (cond ((null? ls) ()) ((null? (cdr ls)) (if (eq? (car ls) current)() ls)) ((eq? (car ls) (cadr ls)) (loop

    1熱度

    1回答

    我正在嘗試使Common Lisp中的MEMBER函數起作用。 所以,我想使這個函數的工作是這樣的: (my-member 2 '(1 4 5 5 3 2 5 6 9)) => (2 5 6 9) 這是因爲成員函數的工作原理完全一樣; (member 2 '(1 4 5 5 3 2 5 6 9)) => (2 5 6 9) 條件是我應該使用'DO'宏來做這個功能。 這是我的,我已經寫盡

    0熱度

    3回答

    我在做這代表了最大數量和最小數量和Common Lisp中第二小的數字之間的距離的函數。 該功能可以使最小數和最大數。 (我檢查了它)。但是這個功能不能使「第二小的數字」在其列表... 我應該考慮哪些事情來解決這個問題? 我覺得我完成足夠的條件,有必要做這個功能.. 我需要你的幫助很大。 這個結果應該是這樣的: (我的距離「(0 7 10 2 3 -1))=>(-1 10) 這是我的代碼,我已。