[ Skill ] equal, eq, eqv, member, memq, memv

https://www.cnblogs.com/yeungchie/

equal

等效运算 ==

equal( 1 1 )
; => t

equal( 1 1.0 )
; => t

eq

直接比较内存地址,因此效率比 equal
不建议用于比较字符串、数字、链表

eq( 1 1 )
; => t

eq( 1 1.0 )
; => nil

eq( "ab" "ab" )
; => t

eq( "a" strcat( "a" ) )
; => nil

lista = '( 1 2 )
eq( lista lista )
; => t

eq( '( 1 2 ) '( 1 2 ) )
; => nil

eqv

eq 一样可以用于需要区分 整数浮点数 的场景
可以判断字符串是否等效
不建议用于链表

eqv( 1 1.0 )
; => nil

eqv( "2" strcat( "2" ) )
; => t

eqv( '( 1 2 ) '( 1 2 ) )
; => nil

member

equal 进行比较

member( 2 '( 1 2.0 2 ) )
; => ( 2.0 2 )

memq

eq 进行比较

memq( 2 '( 1 2.0 2 ) )
; => ( 2 )

memq( "2" list( 1 2.0 strcat( "2" ) ) )
; => nil

memv

eqv 进行比较

memv( 2 '( 1 2.0 2 ) )
; => ( 2 )

memv( "2" list( 1 2.0 strcat( "2" ) ) )
; => ( 2 )
posted @ 2024-02-16 18:31  YEUNGCHIE  阅读(404)  评论(0编辑  收藏  举报