我可以在球拍中打印列表的替代元素吗?

问题描述例如,如果我创建了一个名为odd-places的函数,它的工作方式应该如下所示(odd-places'(pqrst12))=(prt2)是否可以使用递归完成此操作?推荐答案一个小附录:使用此函数,您可以选择在某个项目再次包含在结果列表中之前,应跳过列表中的多少个项目。(d

发布:2022-10-16 标签:recursionfunctionracket


如何使一个函数成为它在球拍中的记忆版本

问题描述我正在尝试定义一个以函数f作为参数的make-memoize函数。其想法是make-memoize将返回一个与mememization一起运行的过程f。在使用函数f作为参数定义make-Memoize之后,我已经能够返回一个过程。但是,我还不能实际应用该函数来加、减或乘一

发布:2022-10-16 标签:memoizationracket


寻找一个非常简单的球拍宏示例

问题描述我做了以下操作:#langracket(define-syntax-rule(macro-expansion-seconds)(current-seconds))哪一项执行此操作>(macro-expansion-seconds)1639244531>(macro-exp

发布:2022-10-16 标签:racketlisp-macros


如何在球拍中查看展开的宏?

问题描述我得到的答案是:编写一个简单的宏来记录宏展开时的时间,然后始终返回该时间。https://stackoverflow.com/a/70318991。#langracket(begin-for-syntax(definethe-time(current-seconds)))

发布:2022-10-16 标签:racketlisp-macros


如何定义接受一个集合(不同元素的列表)并生成该集合的所有子集的列表的Scheme过程?

问题描述首先,我想澄清一下,我知道有一些与我要问的问题类似的问题,但是我有一个非常具体的输出案例,我正在尝试复制该案例。我正在尝试创建一个Scheme过程,该过程允许我获取一个集合并生成一个列表,该列表显示该集合的所有可能子集。例如,如果我调用:(subsets'(abc)),我

发布:2022-10-16 标签:lispschemeracket


如何在球拍中使用TCP?

问题描述我试图将邮件从客户端发送到服务器,然后在服务器上打印该邮件。server.rkt:#langracket(definethe-listener(tcp-listen9876))(define-values(inout)(tcp-acceptthe-listener))(d

发布:2022-10-16 标签:tcpschemeracket


方案中的配对组合

问题描述我正在尝试查找使用方案中的N对列表可以进行的各种组合。以下是我到目前为止的情况:(define(pair-combinationslist-of-pairs)(if(null?list-of-pairs)nil(let((first(caarlist-of-pairs))

发布:2022-10-16 标签:schemeracketsicp


尾递归映射函数球拍

问题描述racket中的map函数接受一个函数和一个列表,并递归地将该函数应用于列表中的每个项目。我正在尝试将映射转换为尾递归函数,如何才能做到这一点?推荐答案您卡在哪里?您可以使用内部loop过程定义您自己的map过程。(define(mapfin)(define(loopou

发布:2022-10-16 标签:recursiontail-recursionracket


在racket中是否有一个函数可以返回过程的lambda-expression?

问题描述在CommonLisp的一个变体(我认为是CMUCL,但我可能错了-我再也找不到它了)中,有一个函数(我认为)叫做function-lambda-expression。如果它得到一个过程,它将打印出生成它的lambda表达式。示例:(let((my-thunk(lambd

发布:2022-10-16 标签:lambdalispcommon-lispracket


忽略球拍中的多个返回值

问题描述在racket中,可以通过执行以下操作从一个函数返回多个值:(define(foo)(values123))然后我们可以通过执行以下操作来绑定它们(define-values(onetwothree)(foo))现在one绑定到1、two绑定到2、three绑定到3。我有

发布:2022-10-16 标签:functional-programmingschemeracket