scheme

    2热度

    2回答

    我需要将一个新项目追加到列表的末尾。这里是我的尝试: (define my-list (list '1 2 3 4)) (let ((new-list (append my-list (list 5))))) new-list 我希望看到: (1 2 3 4 5) 但我得到: 令:语法错误(缺少约束力pair5s或身体)中(让( (new-list(append my-list(lis

    -6热度

    2回答

    我是新的计划,我试图解决一个建议的练习。我感谢你的想法,如何解决它,这是练习: 编写一个过程“filteredmap”,采用2个函数,并应用第一个函数时谓词(也作为参数传递)返回#t并在谓词产生#f时应用第二个函数。 例子: > (filteredmap even? (lambda (x) (+ x 1)) (lambda (x) (* x 2)) (list

    0热度

    1回答

    我在Scheme编程方面没有经验,但我需要为我的Fluent模拟编写几行代码。我有以下循环: (Do ((x 1 (+ x 1))) ((> x 150)) (physical-time-steps 10 20) (wd flow.dat) ) 在每次迭代中,它解决了问题,然后将结果写入文件“flow.dat”。问题是它会在每次迭代中覆盖解决方案,所以我需要在每次迭代中创建一个字符串,例

    1热度

    1回答

    我有家庭作业一个问题,如下: 我的第一部分(double-list-elements)完整 (define (double-list-elements s) (if (null? s) '() (cons (* 2 (car s)) (double-list-elements (cdr s))))) 但我真的绝对不知道如何继续double-list-e

    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) ,(

    0热度

    1回答

    我正在阅读一本名为“The Little Schemer”的书,其中的这段代码以递归方式呈现,以查找列表长度而不定义任何函数。 ((lambda (mk-length) (mk-length mk-length)) (lambda (mk-length) (lambda (l) (cond ((null? l) 0) (el

    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))

    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