我正在关注 2011 年 Brian Harvey 在加州大学伯克利分校网站上的 SICP 讲座。他正在使用STk 解释器来教授课程,而我正在使用球拍和 DrRacket 来跟随。我正在尝试定义他在课堂上使用的所有未在球拍中定义的功能(即word
, butfirst
, butlast
)以进行额外练习。
我遇到了一个试图定义的问题member?
。他能够在列表和字符串上使用它,做类似的事情
(member? 1 (list 1 2 3 4)) ;; works
(member? 'a '(a e i o u)) ;; works
(member? 7 17) ;; doesn't work
(member? #\e "Hello") ;; doesn't work
这是我member?
对上述适用/不适用的定义:
(define (member? u lst)
(not (equal? (member u lst) #f)))
所以这是一个列表,所以前两个是有意义的,他们正在工作。甚至可以创建一个member?
在 STk 中模仿的函数吗?我正在查看文档,它看起来像字符串、列表、非负整数和一堆其他东西被定义为sequence
数据类型,但我找不到相关的序列函数。