68
|
Cristián Romo · 技术社区 · 16 年前 |
![]() |
1
74
从 Common Lisp: Equality Predicates
下面是我链接到上面同一页的一些示例:
|
![]() |
2
28
更多注意事项:
还有一个大致的指南: To compare against... Use... Objects/Structs EQ NIL EQ (but the function NULL is more concise and probably cheaper) T EQ (or just the value but then you don't care for the type) Precise numbers EQL Floats = Characters EQL or CHAR-EQUAL Lists, Conses, Sequences EQ (if you want the exact same object) EQUAL (if you just care about elements) Strings EQUAL (case-sensitive), EQUALP (case-insensitive) STRING-EQUAL (if you throw symbols into the mix) Trees (lists of lists) TREE-EQUAL (with appropriate :TEST argument) 请注意,对于效率,通常等于eq>>eql>>equal>>equal。 |
![]() |
3
11
从 here 还有我老师的幻灯片
例如:
(eq__a__b)无
例如:
(EQL 4 4)零
现在注意 差异 :
(式4.0 4.0)无;取决于第一(接受)答案中所述的平台
在某些实现上(eq 4.0 4.0)可能返回true,因为标准中没有指定一个实现是否应该在内存中只保留一个数字和字符的副本,就像它对符号所做的那样)。 不要在数字和字符上使用eq , 除非你真的知道你在做什么。
例如:
(等于4 4)t
现在注意 差异
(eql(cons'a'b)(cons'a'b))无
例如: (等于(cons'a'b)(cons'a'b))t; 平等一样 现在注意 差异
等于(4 4.0)零
|
![]() |
ptb · Slime\Emacs comint在启动mpi进程时挂起 6 年前 |
![]() |
Alexandru Popa · SBCL中奇怪的宏扩展错误 6 年前 |
![]() |
MadPhysicist · 公共Lisp未定义分派字符 6 年前 |
![]() |
Jacky · 编辑列表中的每个偶数索引元素 6 年前 |
![]() |
Jorge · 在公共Lisp中初始化计数器变量 6 年前 |
![]() |
Rorschach · cl循环破坏性修改cons单元 6 年前 |
![]() |
Rorschach · 宏在定义时将关键帧视为true 6 年前 |
![]() |
reverload · 空调内部let工作不正常 7 年前 |