我想比较列表中的第一个字母和给定的字母,例如:
user=> (= (first '(D D D)) \D)
false
user=> (= (first '(D D D)) "D")
false
我认为这两种方法应该返回true,但结果是错误的。我很奇怪如何比较这两个字母。谢谢!
答案 0 :(得分:3)
'(D D D)
是符号列表。
(= (first '(D D D)) 'D) ; -> true
或
(= (first '(\D \D \D)) \D); -> true
答案 1 :(得分:0)
字符文字在Clojure中写为\a \b \c
。
如上所述,您正在使用符号。在REPL中尝试(type 'D)
和(type \D)
。