r5rs

    1熱度

    3回答

    我看了看,但很驚訝沒有找到這個問題的答案。 在R5RS計劃中,您將如何編寫一個將列表中的每個元素相互相乘的過程。如果我給了一個清單'(4 5 6),程序multiply-list應該返回120. 4 * 5 * 6 = 120。 在此先感謝。

    0熱度

    1回答

    我在計劃 (define (m-m f) (let ((count 0)) (define (h-m-c?) count) (define (r-c) (begin (set! count 0) count)) (define (m-f m) (cond ((eq? m 'h-m-c?) (h-m-c)) ((eq? m

    2熱度

    3回答

    我需要一個程序寫的程序的子程序,採用一個整數,比如說34109,並將其放入一個元素爲3,4,1,0,9的列表中。該整數可以是任意長度。有沒有人有這個技巧?我曾想過爲每個地方使用模數,但我認爲它不應該那麼複雜。

    0熱度

    1回答

    我想在計劃中有一個流,其中包含一串具有特定順序的矩陣。 該流的流車將是矩陣[1 6 0 3];也就是說,第1行col 1是1,第1行col 2是6,第2行col 1是0,第2行col 2是3.每個矩陣在技術上都是一個列表,但我有一個表示(構造函數和選擇器)for一個2x2矩陣。所以,這將是2x2矩陣的流。 現在,流中的下一項應該是[2 10 0 5]。這裏的模式是下一個流中的矩陣增加如下:[k(4

    0熱度

    1回答

    我試圖測試一些代碼從教科書「教非確定性和通用自動機使用計劃」。這是Scheme,我將DrRacket配置爲R5RS。 我複製了定義代碼的一部分,但它仍然抱怨 參考未定義的標識符:只讀磁帶 下面是相關的代碼。 (define tape (lambda() (let((blank '$)) (let ((left-part(list blank)) (ri

    1熱度

    2回答

    我喜歡用自己的數據類型構建REPL,但我不喜歡一遍又一遍地編寫所有相同的模式函數。 所以這是一個困擾我的堅果。 我有我自己的一套基本數據類型(define primitives '("mytrue" "myfalse" "mynumber" ...)) 我也有(define primitiveTesters (list "mytrue?" "myfalse?" "mynumber?" ...) 現

    5熱度

    2回答

    除了問題What's the explanation for Exercise 1.6 in SICP?。 因此,Dr.Retet(R5RS)在有限時間內用「if」評估sqrt-iter函數,清楚地顯示了正常的順序評估。但是,如果使用從運動1.5 (define (p) (p)) (define (test x y) (if (= x 0) 0 y)) (te

    4熱度

    3回答

    我試圖編寫一個簡單的計劃函數,返回列表的最後一個元素。我的功能看起來像它應該工作,但是我設法失敗的東西: (define (last_element l)( (cond (null? (cdr l)) (car l)) (last_element (cdr l)) )) (last_element '(1 2 3)) should return 3 DrRacket不斷

    2熱度

    1回答

    對於一般的Scheme和函數式語言,我是全新的。我正在嘗試創建一個二叉搜索樹。節點的格式是三個元素的列表,第一個是節點的值,第二個是左側子節點,第三個是右側子節點。我有一個「make」函數,它創建一個空樹:(()()())。我也有插入功能。下面是代碼: ;Inserts a number into the tree (define (insert t x) (cond ((null?

    0熱度

    1回答

    我是Scheme的noob。我有一個二叉搜索樹。節點的格式是三個元素的列表,第一個是節點的值,第二個是左側子節點,第三個是右側子節點。 「make」函數創建一個如下所示的空樹:(()()())。我能夠創建樹,插入值,並查找樹中是否存在某個值。當我嘗試編寫一個將樹作爲有序列表返回的函數時,我的問題就出現了。插入和製作功能: ;Inserts a number into the tree (defi