racket

    2熱度

    2回答

    是否有人知道爲什麼下面會產生預期的結果 - (2 4 6) (defmacro mult2 (lst) (define (itter x) (list '* 2 x)) `(list ,@(map itter lst))) (mult2 (1 2 3)) ,而我預計這種一會(與列表標識符) (defmacro mult2 (lst) (define

    0熱度

    1回答

    所以我基本上要printbst的..這裏是一個小更詳細 提供一個函數(printbst T),打印從BST構成的BST由bst.rkt下面的格式提供: - BST中的每個節點都應該單獨打印一行; - 左邊的子樹應該在根之後打印; - 右邊的子樹應該在根之前打印; - 鍵值應該由2d空格縮進,其中d是它的深度或距離根的距離。也就是說,根不應該縮進,其子樹中的鍵應該是2個空格,其子樹中的鍵是4個空格,

    6熱度

    1回答

    我看到下面的代碼...第一次調用(next-num)返回1,第二次返回2。 (define next-num (let ((num 0)) (lambda() (set! num (+ num 1)) num))) (next-num) ; 1 (next-num) ; 2 我無法理解的是... num由let創建內部next-num,這是怎樣的一個局部變量的...怎

    1熱度

    2回答

    我看到了下面的代碼: #lang r5rs (define ma-liste-1 (list 2 3 4 5)) (define ma-liste-2 (list 6 7 8 9)) (define (cons! e L) (set-cdr! L (cons (car L) (cdr L))) (set-car! L e)) (cons! 1 ma-liste-1)

    2熱度

    1回答

    我試圖做我的功課,並通過一些示例代碼,黑客攻擊,我看到這行: [(:+ (:or VAR)) (token-VAR (string->symbol lexeme))] 這是一個詞法分析器的計算器; 現在我不太確定這兩者之一,而且我不確定這意味着什麼,但我確定它有我需要完成我的作業。搜索沒有得到任何幫助,所以現在所有的幫助都很棒。謝謝!

    15熱度

    1回答

    Clojure具有一些有趣的功能,用於表示類型,包括但不限於deftype,defprotocol,reify和extend。 Typed Racket中的打字特徵與Clojure中的類型特徵之間有什麼異同?

    0熱度

    1回答

    我分析代碼,我看到這個 [(exp + exp) (+ $1 $3)] 現在,我不知道這是什麼嗎?它是否需要該列表的第一個和第三個元素?這是否設置在左側甚至考慮列表?我正在學習這門語言,但是我一直都很難過,所以你們一直是最好的幫助。謝謝!

    1熱度

    1回答

    一個正則表達式的問題標題是最有可能的曖昧了我真正的意思,但我有這個問題做: 考慮了包含變量X算術表達式y中的語法, z, 和二元運算符+,*在下面給出。 <expr> -> <term> { + <term> } <term> -> <factor> { * <factor> } <factor> -> <var> | (<expr>) <var> -> x | y| z 寫稱爲執行器在

    5熱度

    1回答

    有人能給出一個相對簡單的例子,說明和call-with-current-continuation之間的球拍差異。 我已經完成了call-with-composable-continuation的Racket Guide 10.3的示例,以及Scheme Scheme語言部分3.3中的call-with-current-continuation的示例,但我並不清楚其中的差別。 有人可以舉一個例子,他

    3熱度

    2回答

    我正在經歷HTDP,發現這個地方的開頭: - 解釋爲什麼下面的句子是非法的定義: 1.(定義(F「x)x) 然而,它可以在球拍中正常工作: > (define (f 'x) x) > (f 'a) 3 > (define a 5) > (f a) 3 顯然,我錯過了什麼......究竟是什麼?