Jscheme或lisp!!比较性格

Jscheme或lisp!!比较性格,lisp,Lisp,如何检查列表的第一个元素是否等于某个字符 我试过这个代码,但没有成功 (= (car lis) 'f) 有什么想法吗?在Common lisp中,您使用eq表示相等 (eql (car list) #\f) 在Common lisp中,使用eq表示相等 (eql (car list) #\f) 在Lisp中,=用于数值比较,而通用比较运算符是equal的不同变体(在CL中有四种类型:eq用于指针比较,eql用于原子比较,equal用于结构比较和equalp,类似于带字符串排序的equal,

如何检查列表的第一个元素是否等于某个字符

我试过这个代码,但没有成功

(= (car lis) 'f)

有什么想法吗?

在Common lisp中,您使用
eq
表示相等

(eql (car list) #\f)

在Common lisp中,使用
eq
表示相等

(eql (car list) #\f)

在Lisp中,
=
用于数值比较,而通用比较运算符是
equal的不同变体(在CL中有四种类型:
eq
用于指针比较,
eql
用于原子比较,
equal
用于结构比较和
equalp
,类似于带字符串排序的
equal
,请参见:).Lisp
=
中的

用于数值比较,而通用比较运算符是
equal的不同变体
(在CL中有四种类型:
eq
用于指针比较,
eql
用于原子比较,
equal
用于结构比较和
equalp
,就像
equal
带有字符串排序-请参见:)。

Clojure
(=(第一个列表)\f)
你真的意思是“字符”,还是你真正的意思“symbol”?它们通常不是一回事;
'f
是“symbol
f
”,而
\f
是“character
f
”(至少在Common Lisp中是这样)。你通常希望以不同的方式比较、存储和处理它们。Clojure
(=(第一个列表)\f)
你真的意思是“character”,还是你真正的意思symbol”?它们通常不是同一件事;
'f
是“symbol
f
”,而
\f
是“character
f
”(至少在公共Lisp中是这样)。您通常希望以不同的方式比较、存储和处理它们。我怀疑提问者实际上指的是“symbol”,而不是“character”“。但是,在这两种情况下都不是一个合适的相等比较器。
eq
对字符没有有效的定义。请改用
eql
。我怀疑提问者实际上是指“符号”,而不是“字符”.但是,在这两种情况下都不是合适的相等比较器。
eq
对于字符没有有效的定义。请改用
eql