我学球拍只是为了好玩。我有个问题。有办法逆转序列吗?一种通用函数,用于逆转以下情况:
(sequence-reverse "Hello")
(sequence-reverse '(1 2 3))发布于 2015-03-08 17:30:05
问题是有些序列是无限的,例如(in-integers)给出的序列。对于有限序列,可以使用:
(define (sequence-reverse s)
(reverse
(sequence->list s)))发布于 2015-03-08 16:42:27
没有内置的功能来做你想做的事。如果您只关心字符串和列表,请尝试如下所示:
(define (sequence-reverse seq)
(cond ((null? seq) seq)
((list? seq) (reverse seq))
((string? seq) (list->string (reverse (string->list seq))))
(error "Bad sequence")))您可以添加您认为合适的其他条件--例如,Vectors通过函数list->vector和vector->list提供类似的功能。不过,你可能不想为所有的序列提供全面的功能。倒哈希表或字典是没有意义的。
https://stackoverflow.com/questions/28928438
复制相似问题