在LISP中创建函数修剪到(符号列表)

在LISP中创建函数修剪到(符号列表),lisp,Lisp,修剪到符号列表 编写一个名为trim to的函数,该函数将符号和列表作为参数。返回新列表 从输入列表中第一次出现输入符号开始。如果没有 出现符号时,返回nil。 例如: 修剪至“c”a b c d e 这将返回以下列表: “c d e 我不太清楚怎么从这里开始。如果有人能带我走过他们构造这个函数的步骤,我将永远感激 您有一个符号和一个列表: 如果列表是失败的空列表; 如果列表的第一个元素是符号,那么这就是您想要的列表; 否则,请看列表的其余部分–现在您有了一个符号和一个列表。。。 此外,我知道我

修剪到符号列表 编写一个名为trim to的函数,该函数将符号和列表作为参数。返回新列表 从输入列表中第一次出现输入符号开始。如果没有 出现符号时,返回nil。 例如: 修剪至“c”a b c d e 这将返回以下列表: “c d e


我不太清楚怎么从这里开始。如果有人能带我走过他们构造这个函数的步骤,我将永远感激

您有一个符号和一个列表:

如果列表是失败的空列表; 如果列表的第一个元素是符号,那么这就是您想要的列表; 否则,请看列表的其余部分–现在您有了一个符号和一个列表。。。
此外,我知道我需要使用cons来构建一个新的列表,从我试图找到的符号的第一次出现开始。如果不直接回答这个问题,有人能给我展示一个构造类似的函数,作为解释搜索符号的基础吗?这只是我使用lisp的第二天,我正在努力将我的命令式/OOP技能转换为lisp。@dratenik我想我以前看过这个例子,并且理解基本递归。最后一个问题是阶乘,我对此没有异议。我想这更能理解这里到底发生了什么。我在网上找到了这个问题的代码,我想把它拆开看看是怎么回事,把trim改成sym list cond null list nil equal symcar list t改成sym cdr list我想我的问题是,返回true的行上发生了什么?是否取消修剪到项目列表成员项目列表?只是开玩笑。请展示您迄今为止所做的尝试。如果问题中没有代码,则只有文本答案。