Lisp 从列表中返回元素

Lisp 从列表中返回元素,lisp,common-lisp,Lisp,Common Lisp,我正在努力学习lisp,当我迈出第一步时,我被卡住了。 如何从以下列表中获取c元素:(ab(c.d)) 我试过:(caar(last'(ab(c.d)))但它返回c.d,而不仅仅是c 但是,如果c和c之间存在空格,则此选项有效,d ie:(caar(最后一个)(a b(c.d)) 我试图解决的问题指定了不带空格的列表。这是可以做到的,还是练习中的拼写错误 谢谢 LE:使用GNU Clisp 问题是否可能是由实施引起的 您的代码是正确的,这是练习中的一个输入错误(或者可能是一个非常糟糕的字体?)

我正在努力学习lisp,当我迈出第一步时,我被卡住了。 如何从以下列表中获取c元素:
(ab(c.d))

我试过:
(caar(last'(ab(c.d)))
但它返回c.d,而不仅仅是c
但是,如果c和c之间存在空格,则此选项有效,d ie:
(caar(最后一个)(a b(c.d))

我试图解决的问题指定了不带空格的列表。这是可以做到的,还是练习中的拼写错误

谢谢

LE:使用GNU Clisp
问题是否可能是由实施引起的

您的代码是正确的,这是练习中的一个输入错误(或者可能是一个非常糟糕的字体?)

在Lisp中(Common Lisp和Scheme是我刚才测试的两个,我不知道Clojure),[几乎]符号之间唯一的划分是空格和括号。尽管用作
cons
的文字语法,如果键入
'(c.d)
,则列表中会有一个符号,而不是cons单元格中的两个符号

比如说,

'c.d     ; is one symbol
'(c . d) ; is two symbols in a single cons cell
'((c)d)  ; is two symbols, the first in a nested list

编辑:因为您使用的是CommonLisp,所以下面是和。总之,
是终止字符,而
不是。CLisp是根据公共Lisp规范执行的。

您的代码是正确的,在练习中是一个输入错误(或者可能是一个非常糟糕的字体?)

在Lisp中(Common Lisp和Scheme是我刚才测试的两个,我不知道Clojure),[几乎]符号之间唯一的划分是空格和括号。尽管用作
cons
的文字语法,如果键入
'(c.d)
,则列表中会有一个符号,而不是cons单元格中的两个符号

比如说,

'c.d     ; is one symbol
'(c . d) ; is two symbols in a single cons cell
'((c)d)  ; is two symbols, the first in a nested list

编辑:因为您使用的是CommonLisp,所以下面是和。总之,
是终止字符,而
不是。CLisp是根据通用Lisp规范执行的。

我看你在练习中有输入错误

(c.d)是用点对表示法显示的cons单元格


这里有一个链接,里面有更多关于这个的内容。我看你在练习中有输入错误

(c.d)是用点对表示法显示的cons单元格


这里有一个链接,上面有更多关于这个的内容

听起来像是打字错误。你在用什么Lisp?这个问题和你已经发布的另一个问题有何不同?我对Lisp真的很陌生,第一课,我只是想理解一下,所以这个问题对我来说似乎不同:-??抱歉,如果是类似的声音,就像打字错误一样。你在用什么Lisp?这个问题和你已经发布的另一个问题有何不同?我对Lisp真的很陌生,第一课,我只是想理解一下,所以这个问题对我来说似乎不同:-??如果是相似的,我很抱歉