racket

    1热度

    1回答

    说我有这样一个宏: (define-syntax (choose stx) (define data (syntax->datum stx)) (define args (cadr data)) (define body (cddr data)) (define output `(apply (case (car ,args) ,(

    1热度

    1回答

    我试图按照OEIS-A003418中所述为1至n中的所有数字生成最小公倍数。在DrRacket REPL我用下面的代码: (lcm (apply values (build-list 256 add1))) ,给了我一个“结果参数数量不匹配”错误(预计1,收到的256)。当我省略lcm时,我得到一个从1到256输出到控制台的序列。我不确定引起不匹配的原因,因为lcm应该能够采用任意多个参数(根

    0热度

    2回答

    >(define (f l) l) ;;;consider l to be a list 这个功能应该是什么复杂性。据我说,它应该是O(长度为l),因为应该在堆上创建一个新列表并创建并返回一个新列表。 所以,如果它是O(长度l)则的复杂性(追加L1 L2)函数必须是O(长度L1 +长度L2),因为 (define (append l1 l2) (if (null? l1) l2 [c

    0热度

    1回答

    我是新来的计划,很难与汽车和司机使用。我在AST中有一个AST字符串字面值。 (define ast '(program ((assign (var i int) (call (func getint void int)())) (assign (var j int) (call (func getint void int)())) (while (neq (var

    0热度

    1回答

    我必须在球拍中运行一些我从未使用过的运算。 我该如何强制它计算一个或一半(如果有的话)精度浮点数? 我想通了,如何使它在大彩车计算: (bf/ (bf 1) (bf 7)) 我知道,浮动的缩写(双精度)是FL。尽管如此,我无法弄清楚单个花车的正确缩写。

    1热度

    1回答

    初学者问题在这里,我只花了几个小时的语言。 球拍dictionaries,通过哈希表来实现,对列表等的(match)功能识别(hash-table (pat pat)...),(list-no-order pat...)等,但不(dict (pat pat)...)。 我认为这对于dict接口上的模式匹配会有帮助,因为有相同的理由,它有用的接口。其疏忽表明情况并非如此。谁能告诉我我错过了什么?如果

    1热度

    1回答

    如果我们有一个布尔值来定义是否自动接受,我们将其称为auto-accept?。如果我们有一个定义某种颜色的参数,我们将其称为color-param。我们将如何调用定义布尔值的参数? auto-accept?-param,因为它是'参数化'布尔值? auto-accept-param?甚至只是auto-accept-param,因为参数是一个参数,而不是一个布尔值?

    2热度

    1回答

    以下代码搜索图并根据作为参数传递的谓词函数返回true或false。 该图以邻接表的形式表示。 假设图形不包含循环。 代码: (define (search predicate? key) (define value-list (lookup key)) (if (not (empty? value-list)) (if (findf predicate? valu

    1热度

    1回答

    我有一个point记录类型定义如下时: (define-record-type point (make-point x y) point? (x point-x) (y point-y) ) 现在,我想扩展point记录类型,定义了一个新的记录类型如下: (define-record-type cpoint (make-cpoint col

    0热度

    1回答

    我正在尝试geiser,并在评估它总是切换到与我的源代码不同的缓冲区不同的帧。这可以防止吗?在我当前的缓冲区中按C-c C-b后可以保留吗?