mit-scheme

    0熱度

    2回答

    我一直在努力通過在線方式的教程和感到困惑的下面的代碼: (define make-bank-account (lambda (balance) (display "Ding") (lambda (n) (display "Dong") (set! balance (+ balance n)) balance))) (define

    -1熱度

    1回答

    如果我使用SICP第1章中的以下代碼,它會給出正確的答案。 (cond ((= a 4) 6) ((= b 4) (+ 6 7 a)) (else 25)) 打印16 如果我通過更換COND,如果它不能正常工作 (if ((= a 4)6) ((= b 4) (+ 6 7 a)) (else 25)) 給出了錯誤: The object #f is not applicable. 我在

    2熱度

    2回答

    爲了用Vim調試MIT-Scheme腳本,我希望能夠儘可能方便地運行當前正在編輯的腳本文件。下面是我在做什麼: sicp.scm (set! load-noisily? #t) (define (abs x) (cond ((> x 0) x) ((= x 0) 0) ((< x 0) (- x)) ) ) (abs 42

    0熱度

    2回答

    這是什麼計劃?我們如何使用它? scm> (define (x) 100) x scm> (x) 100 scm> x ; When we "called" x, it return (lambda() 100). what is it ? (lambda() 100)

    2熱度

    1回答

    很久以前學習了代碼C;想嘗試一下新的和不同的Scheme。我正在嘗試創建一個接受兩個參數並返回兩個參數中較大者的過程,例如 (define (larger x y) (if (> x y) x (y))) (larger 1 2) ,或者 (define larger (lambda (x y) (if (> x y) x (y

    0熱度

    1回答

    我正在嘗試使用slimv,這是在macOS Sierra的another question of mine回答中推薦的。但是,當我將此插件安裝到~/.vim/plugin,並運行vi test.lisp時,出現以下錯誤。美麗的「Slimv」菜單也沒有顯示。 sunqingyaos-MacBook-Air:plugin sunqingyao$ vi ~/.vimrc Error detected

    1熱度

    1回答

    我已經在MIT計劃中實現了我自己的合併排序。我想測試它與內建的merge-sort並比較時間;但是,我不知道如何獲得兩者的運行時間。當我測試多達100萬個元素時,你如何增加堆棧大小/遞歸深度。

    0熱度

    1回答

    有人可以解釋我下面的代碼中的兩個lambda語句發生了什麼? (define (remove x ls) (if (null? ls) '() (let ((h (car ls))) ((if (eqv? x h) (lambda (y) y) (lambda (y) (cons h y))) (remove x (cdr ls))

    0熱度

    1回答

    我有一個列表(1 2 3),我需要將其應用於函數(f a b c)。 問題的第一部分是合併兩個列表以創建上面的列表,現在我需要插入這些數字作爲參數。我不知道如何做到這一點。我正在考慮使用應用程序或地圖,但我對這些工作如何或者它們是否是正確的方法沒有信心。 謝謝。

    0熱度

    1回答

    有沒有一種方法可以在不使用休息的情況下完成這項工作(我試圖把cdr lst放在任何地方,但它給了我一個錯誤)以及如何刪除if條件 - (if(> N 0))因爲所有我想要顯示做的是輸出列表 - (名單NE) (define (count lst) (if (null? lst) '() (let ((display (lambda (N E) (if (> N 0) (