List 在Scheme中使用字符集
此函数必须找到List 在Scheme中使用字符集,list,function,scheme,character,punctuation,List,Function,Scheme,Character,Punctuation,此函数必须找到!“#%&'()*,-./:;?@[\]\{}字符在给定列表中。如果至少找到一次这些字符,则必须返回true。但我找不到适合此目的的预定义函数 (define (is-symbol lst) (if (null? (car lst)) #f (if (char-set:punctuation (car lst)) #t (is-symbol (cdr lst))) )) (is-symbol '(#\A #\b #\t #\R #\f 3 5
!“#%&'()*,-./:;?@[\]\{}
字符在给定列表中。如果至少找到一次这些字符,则必须返回true。但我找不到适合此目的的预定义函数
(define (is-symbol lst)
(if (null? (car lst))
#f
(if (char-set:punctuation (car lst)) #t
(is-symbol (cdr lst)))
))
(is-symbol '(#\A #\b #\t #\R #\f 3 5 4 7 8 9 #\A #\G #\w #\q $ & ?))
我相信您正在寻找: 或者更简单:
(define (is-symbol? lst)
(ormap char-punctuation? lst))
您使用的是
字符集:标点符号
,它看起来像SRFI-14。相应的成员谓词是字符集包含?
我在学生语言模式中提前使用DrRacket。它给出了以下错误:字符标点符号?:此函数未定义更改语言,然后使用#racket。否则您必须实现程序本身。欢迎到堆栈溢出,我把你的问题的文本拉到代码片段上,使问题更容易阅读。这是一种叫做底线的技术。有一个,请考虑阅读它,并编辑你的问题,让你更清楚你想要什么。
(define (is-symbol? lst)
(ormap char-punctuation? lst))