如何将方案中的列表拆分成n个大小相等的块?

问题描述我在试拍中的一些练习题,被困在这道题上了我要做的是定义一个列表,如(Partition‘(123456)3),然后调用Return’((12)(34)(34))。(三个大小相等的分区)例如,(Partition‘(1234)3)将提供输出(1)(2)(34)其中n为3是要

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


LISP:在循环中收集多个列表

问题描述我希望能够在一个循环中收集多个列表。我知道这可以在没有循环的情况下完成,但我想知道使用循环是否也可以这样做。我想要这样的:(loopforvarinlist(if(cond1var)(if(cond2var)collectintolist1collectintolist2

发布:2022-10-16 标签:loopslispcommon-lisp


LISP逐层显示二叉树

问题描述我有一个类似于(A(B(C,D))(E(F)的列表,它代表这棵树:A/BE//CDF如何打印为(A、B、E、C、D、F)?这就是我所能做到的:((lambda(tree)(loopforeleintreedo(printele)))my-list)但打印:A(B(CD))

发布:2022-10-16 标签:binary-treelisp


如何将列表转换为方案中的code/lambda?

问题描述假设我有一个列表,例如:(definea'(+(*pp)(*xx)))。如何使用a给出的表达式定义过程,例如:(define(Hxp)(+(*pp)(*xx))))?我尝试这样做:(define(Hxp)(evala)),但它显示p和x是未定义的。我想,对于apply或类

发布:2022-10-16 标签:lisps-expressionschemeracket


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

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

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


在Common Lisp中,null和nil的确切区别是什么?

问题描述据我所知,nil是许多东西的符号:空列表或布尔值false。到目前为止还不错,但是为什么输出中有时会显示NULL?clisp>(type-ofNIL)NULLclisp>(type-oft)BOOLEANclisp>(type-of(nott))NULLclisp>NIL

发布:2022-10-16 标签:nulllispcommon-lisp


任意类型说明符上的Defmethod?

问题描述我尝试做的是:(defgenericfn(x))(defmethodfn((x(integer1*)))"Positiveinteger")(defmethodfn((x(integer*-1)))"Negativeinteger")我想要一个可以处理任意类型说明符的泛型

发布:2022-10-16 标签:typeslispcommon-lisp


常用Lisp反引号/反引号:如何使用?

问题描述我在使用Lisp的反引号读宏时遇到了问题。每当我试图编写似乎需要使用嵌入式反引号的宏时(例如,PaulGraham的ANSICommonLisp第399页中的``(w,x,,y)),我都不知道如何以编译的方式编写代码。通常,我的代码会收到前面带有"逗号不在反引号内"的整个

发布:2022-10-16 标签:lispcommon-lispmacrosbackticks


计算传递给用LISP生成函数的宏的参数

问题描述我正在尝试创建一个宏,该宏基于py-configparser创建的配置对象为每个配置定义访问器函数:(defmacromake-config-accessor(configsectionoption);createanuppercasefunctionnamethenin

发布:2022-10-16 标签:lispcommon-lisp


如何使用递归合并按字母顺序排序的两个字符串

问题描述我正在学习Lisp。我已经实现了一个CommonLisp函数,该函数使用递归合并按字母顺序排序的两个字符串。以下是我的代码,但它有问题,我没有弄清楚。(defunmerge(FL)(if(nullF)(if(nullL)F;returnf(L));elsereturnL;

发布:2022-10-16 标签:recursionmergelispcommon-lisp