【SICP练习】82 练习2.54

本文详细介绍了Scheme语言中用于判断两个元素是否相等的函数实现,包括基本符号、列表以及错误处理的递归方法。通过具体代码示例,阐述了如何在不同数据类型下进行相等性比较。

这些关于Scheme的基本知识在【Scheme归纳】系列博文总都有介绍。

(define (equal? x y) (cond ((and (symbol? x) (symbol? y)) (symbol-equal? x y)) ((and (list? x) (list? y)) (list-equal? x y)) (else (error “Error: You just input wrong type.”)) (define (symbol-equal? x y) (eq? x y)) (define (list-equal? x y) (cond ((and (null? x) (null? y)) #t) ((or (null? x) (null? y)) #f) ((equal? (car x) (car y)) (equal? (cdr x) (cdr y))) (else #f))) 

在倒数第二行中运用了递归。



感谢访问,希望对您有所帮助。 欢迎关注或收藏、评论或点赞。


为使本文得到斧正和提问,转载请注明出处:
http://blog.youkuaiyun.com/nomasp


版权声明:本文为 NoMasp柯于旺 原创文章,未经许可严禁转载!欢迎访问我的博客:http://blog.youkuaiyun.com/nomasp

转载于:https://my.oschina.net/nomasp/blog/503331

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值