racket

    1熱度

    3回答

    我正在寫一個遞歸函數,返回基本大小寫中的空列表。然而,函數的輸出在我的列表中顯示了「空」字,這是我不想要的。 (名單(名單 'ABC)(名單' DEF)空(名單「GHI)) 我如何避免這種情況?謝謝。

    4熱度

    2回答

    我想知道如何在Racket中實現cadr,caddr和類似的可變版本,而無需單獨定義每個版本?即。不是 (define (mcadr exp) (mcar (mcdr exp))) 似乎對於可變列表或對,球拍只支持mcar和mcdr,但不支持「擴展」版本。我需要知道並擅長宏才能做到這一點?

    1熱度

    1回答

    感謝這個偉大網站上的人們,我設法將幾乎完整並且可行的代碼放在一起。我有一個最後的問題。 這裏是代碼: (define (chartest ch) (lambda (x) (char=? x ch))) (define fsm-trans '((A (lambda (x) (string=? x "a") B), (B (lambda (x) (string=?

    3熱度

    1回答

    我正在做一個函數,它將1個輸入和一個「x」輸入之間的所有數字乘以dotimes循環。如果您願意,請檢查我的功能並說出錯,因爲我不熟悉Scheme中的循環。 (define (product x) (let ((result 1)) (dotimes (temp x) (set! result (* temp (+ result 1)))) resul

    3熱度

    6回答

    我想計算Scheme中數字的位數之和。它應該是這樣的: >(sum-of-digits 123) 6 我的想法是,以數量123轉換爲字符串"123",然後將其轉換爲一個列表'(1 2 3),然後用(apply + '(1 2 3))獲得6。 但它不幸沒有像我想象的那樣工作。 >(string->list(number->string 123)) '(#\1 #\2 #\3) 顯然'(#

    16熱度

    2回答

    我一直在嘗試從命令行(通過'racket')啓動一個球拍程序,但一直沒有成功。根據文檔(此處爲http://docs.racket-lang.org/reference/running-sa.html#%28part._mz-cmdline%29),傳遞-f後跟一個文件應評估該文件。但是,我似乎無法得到這個工作。作爲測試,我做了以下文件: ;test.rkt #lang racket (def

    2熱度

    2回答

    我有這個定義「排序左列表」它是根據每對左元素排序的對列表,左元素必須是非負整數,右元素可以是任何值鍵入 我必須寫一個程序mkjump這需要作爲參數爲非負整數的排序列表, 分揀LST =(X1 ... xn)映射,並返回一個左排序列表: 排序左列表=((x1.y1)...(xn.yn))使得:yi是排序左列表的最大後綴, ((xj.yj)...(xn.yn))其中xk>( xi)^ 2全部xk。例如

    1熱度

    1回答

    即時通訊使用球拍圖形工具包,我想顯示一個建議彈出菜單。 我有一個可供選擇的字符串列表,我想在彈出菜單中顯示它們,就像在文本字段中寫入一樣。 我已經設法顯示他們,但您必須重新選擇文本字段才能繼續寫入。每當你選擇文本字段時,彈出菜單就會消失。 這甚至可能嗎?如果是的話我怎麼能做到這一點? 這裏是一個小例子來解釋我的自我更好: (define (prueba) (let* ((ventana

    2熱度

    1回答

    有人請告訴我這是一個在Racket(v5.1.1)中的bug, 它的接縫是一個範圍問題。 (見代碼和下面輸出) 來自實施例1的返回示出了x不 得到遞增,因爲它應該和,因爲它例如-2和實施例-3中確實 。 功能例子-2是隻是例-1 與來自DOIT除去反向指令的副本。 功能例如-3(因爲你可以看到)是一個副本 很好,但有其本身 並不能改變什麼額外的參數,但是當我測試它在 的COND聲明它顯示x作爲作爲

    2熱度

    1回答

    我一直在編寫一些簡單的racket GUI程序來爲我在秋季教授的課程做準備。我在動畫方面遇到了一些問題。我正在使用基本畫布,並通過調用繪畫過程來使用整個畫布在每幀中刷新的動畫模型。下面是一個示例程序。 我的問題是,我必須運行動​​畫作爲單獨的thread,或在每個refresh-now實例之後調用yield。爲什麼是這樣?我預計refresh-now會立即刷新圖像,而不需要額外的工作。 我已閱讀r