racket

    3熱度

    2回答

    如何在Scheme中使用數組? 特別是,我試圖使用memoization實現遞歸斐波那契過程。數組是否存在於Scheme中? 如果不是,我該如何實現記憶?

    4熱度

    1回答

    我早些時候問過一個有關數組在方案中的問題(原來他們被稱爲矢量,但基本上與您所期望的相同)。 有沒有一種簡單的方法來做多維 陣列 矢量在PLT計劃雖然嗎?爲了我的目的,我想要一個叫做make-multid-vector的程序。 順便說一句,如果這還不存在,我不需要一個完整的代碼示例如何實現它。如果我必須自己滾動,我會欣賞一些大方向。我可能會這樣做的方式是迭代遍歷矢量的當前最高維度的每個元素以添加另一

    0熱度

    1回答

    例如,看看這個代碼(從tspl4): (define proc1 (lambda (x y) (proc2 y x))) 如果我跑這是我的計劃方案...... #!r6rs (import (rnrs)) (define proc1 (lambda (x y) (proc2 y x))) 我得到這個錯誤: expand: unbound ide

    2熱度

    4回答

    我很困惑這個代碼是如何工作的: (define m (list 1 2 3 '(5 8))) (let ((l (cdr m))) (set! l '(28 88))) ==>(1 2 3 (5 8)) (define o (list 1 2 3 '(5 8))) (let ((l (cdr o))) (set-car! l '(28 88))) ==> (1 (28 88) 3 (5

    3熱度

    4回答

    給定一棵樹,我想找到從根到每個葉子的路徑。 所以,對於這種樹: D / B /\ A E \ C-F-G 具有從根目錄(A)到葉(d,E,G)以下路徑: (A B D), (A B E), (A C F G) 如果我表示上文作爲樹(A (B D E) (C (F G)))則函數g的伎倆: (define (paths tree) (cond ((empt

    5熱度

    4回答

    我已經開始學習Scheme了,主要是爲了好玩,因爲我之前從未使用過一種功能性語言。我選擇了Scheme,因爲我想長時間閱讀SICP。 無論如何,我目前正在學習列表,在此之前,我瞭解了cons,car和cdr。還有的創建名單的有缺點的列表,像這樣的例子: (cons (list 1 2) (list 3 4)) 結果列表是((1 2)3 4),這沒有任何意義對我來說,我希望(( 1 2)(3 4

    4熱度

    1回答

    我有一些麻煩了解以下 計劃程序的行爲: (define c (dynamic-wind (lambda() (display 'IN)(newline)) (lambda() (call/cc (lambda (k) (display 'X)(newline) k))) (lambda() (display 'OUT)(n

    4熱度

    1回答

    我是Scheme新手,我非常喜歡它的一流/高級功能。但是,我的數據來自一個帶有面向對象API的COM源。 我知道Scheme和COM屬於不同的編程範例,但我想知道是否有任何接口或方式來連接到COM源的方案嗎?

    27熱度

    3回答

    我已閱讀McCarthy 1960年關於LISP的論文,發現沒有提及任何類似於用戶定義的宏或正常順序評估的文章。我在想,當宏第一次出現在編程語言的歷史(也是Lisp的歷史): 當被用戶定義的代碼轉換的想法(前解釋或編譯)首次描述(理論上)? 什麼是第一個編程語言實現具有類似Lisp的宏(通過「Lisp-like」我的意思是「使用可讀的圖靈完成語言進行代碼轉換」)? (包括非Lisp - 例如For

    2熱度

    1回答

    匹配我想匹配在球拍以下兩個列表(前身爲PLT的計劃)中的一個: '(somename : (_ptr o sometype)) 或 '(somename : (_ptr io sometype)) 正如你看到的,唯一的區別是嵌入式列表中的文字'o和'io。 我可以看到兩種基本的方法來做到這一點。 或者: (match myexpr [(list name ': (list '_p