racket相关内容
如果这是一个常见的问题,请原谅。搜索球拍,并将lambda作为参数传入,返回的结果并不多。我正在尝试编写一个球拍函数lsf,该函数接受一个可选的lambda函数,并将其应用于两个大小相同的列表中的相应元素。此lambda默认为加法。 例如,> (lsf '(2 4 5) '(6 7 8) (lambda (a b) (- b a)))应返回列表'(4 3 3) > (lsf '(2 5
..
我正在尝试实现一个递归函数来查找两个集合的笛卡尔乘积。我目前拥有的代码如下: (define (cartesian-product set-1 set-2) (let (b (set 2)) (cond [(empty? set-1) '()] [(empty? set-2) (cartesian-pr
..
我希望它提取其中包含字母e的所有单词。 例如。 (ewords '(i e ee o oo)) -> '(e ee) 伯克利的61a讲座使用(First‘Word)提取单词的第一个字符。但当我尝试这样做时,DrSolutions对我尖叫。如何提取单词的第一个字符?Like (first 'word)->'w. 推荐答案 您需要将其显式转换为字符串: (first (
..
我正在初学者语言模式下使用Drracket。 代码如下: (define vowels '(#a #e #i #o #u)) (define total 0) (define (any-in-list lst check) (cond [(empty? lst) (+ 0 total)] [(member? (first lst) check) (add1 to
..
我在试拍中的一些练习题,被困在这道题上了 我要做的是定义一个列表,如(Partition‘(1 2 3 4 5 6)3),然后调用Return’((1 2)(3 4)(3 4))。(三个大小相等的分区) 例如,(Partition‘(1 2 3 4)3)将提供输出 (1)(2)(3 4) 其中n为3是要创建的分区数 下面我试过解决这个问题 (define (threesize n
..
因此,在Big Bang框架中,您可以指定滴答率: (On-Tick-Tick-Handler Tick-Rate) 此滴答率值仅评估一次我相信(这里有一个similar question,其中说明了这一点)。 如果是这样的话,如何编写一款游戏(如俄罗斯方块),希望形状随着时间的推移以更快的速度下降?我已经得到了目前滴答机上出现的形状下落。如果滴答率改变,下降会发生得更频繁。事实上,
..
我收到以下错误“and::中的语法不正确”: (define test (lambda(list1 a b c d) (cond (null? list1) (and (eqv? a b) (eqv? c d)) (two-subsets (cdr list1) a b c d)))) (test '(1 2 3 4) 0 0 0 0) 本质上,我尝
..
假设我有一个列表,例如:(define a '(+ (* p p) (* x x)))。 如何使用a给出的表达式定义过程,例如: (define (H x p) (+ (* p p) (* x x))))? 我尝试这样做:(define (H x p) (eval a)),但它显示p和x是未定义的。我想,对于apply或类似的东西,有一个简单的解决方法,但我不能理解它。 我想我可以根据传
..
任务定义:我要做挂在绳子上的南瓜和鱼 使用的术语: What-is-it?==>决定是做鱼还是做南瓜的函数 fish-squared==>使用2个参数制作鱼的函数 南瓜==>制作南瓜的函数,也有2个参数 装饰==>将所有图像追加到一起的函数 HANG-BY-THREAD==>将所有图像挂到一个线程的函数 额外 在本练习中,我必须使用“(如果(奇数?k
..
在方案中定义某些代码时遇到问题。我正在尝试为Scheme/racket中的节点创建一条记录,到目前为止,我的代码如下所示: (define-record-type node (make-node v l r) node? (v tree-value) (l tree-left) (r tree-right)) 但是-当我尝试执行时,收到以下错误: define-re
..
我是Scheme编程的新手,尝试在if条件下定义一个变量。例如,我有: (if (
..
编写一个Scheme过程,该过程接受列表并返回列表中奇数的和。 例如,(sumodd‘(1(2()6)3(5)2))返回9 以下是我的代码 (define (sumodd ls) (cond ((null? ls) 0) ((list? (car ls)) (sumodd (car ls))) ((= (modulo (car ls) 2) 1)) (+ (ca
..
我有这两个列表: (define casos ’((a 3 15 r +)(l 41 9 -))) (define extension ’((b 4 5 r -)(c 4 90 d -))) 我想获取这两个列表中最后一个元素(+或-)不同的列表的数量。 为此,我使用了andmap: (define iguales 0) (andmap (lambda (x y)
..
我想在每个滴答声中做两件不同的事情。在大爆炸环境中可以有多个即时事件处理程序吗? 这是我想做的: (big-bang world (on-draw show-world) (on-tick event1 event2 1)) 或 (big-bang world (on-draw show-world) (on-tick event1 1) (on
..
例如,如果我创建了一个名为odd-places的函数,它的工作方式应该如下所示 (odd-places '(p q r s t 1 2)) = (p r t 2) 是否可以使用递归完成此操作? 推荐答案 一个小附录:使用此函数,您可以选择在某个项目再次包含在结果列表中之前,应跳过列表中的多少个项目。 (define (nth-places n lst [i 0])
..
我正在尝试定义一个以函数f作为参数的make-memoize函数。其想法是make-memoize将返回一个与mememization一起运行的过程f。在使用函数f作为参数定义make-Memoize之后,我已经能够返回一个过程。但是,我还不能实际应用该函数来加、减或乘一个数字。也就是说。如果我将make-Memoize和Add-One函数作为参数应用到28号,我应该会得到29作为结果。 这
..
我做了以下操作: #lang racket (define-syntax-rule (macro-expansion-seconds) (current-seconds)) 哪一项执行此操作 > (macro-expansion-seconds) 1639244531 > (macro-expansion-seconds) 1639244532 > (macro-expans
..
我得到的答案是:编写一个简单的宏来记录宏展开时的时间,然后始终返回该时间。https://stackoverflow.com/a/70318991。 #lang racket (begin-for-syntax (define the-time (current-seconds))) (define-syntax (macro-expansion-seconds stx) (da
..
首先,我想澄清一下,我知道有一些与我要问的问题类似的问题,但是我有一个非常具体的输出案例,我正在尝试复制该案例。 我正在尝试创建一个Scheme过程,该过程允许我获取一个集合并生成一个列表,该列表显示该集合的所有可能子集。 例如,如果我调用:(subsets '(a b c )),我应该得到:'((a b c) (b c) (a c) (c) (a b) (b) (a) ())(具体按
..
我试图将邮件从客户端发送到服务器,然后在服务器上打印该邮件。 server.rkt: #lang racket (define the-listener (tcp-listen 9876)) (define-values (in out) (tcp-accept the-listener)) (displayln (read in)) (tcp-close the-listener)
..