【发布时间】:2021-02-13 11:20:03
【问题描述】:
(Question Details image -- describes RLE encoding)
我的rle 函数中的(if ((equal? (car coins) (cadr coins))) 代码段不起作用,函数停止工作。
(define (element-index lst element)
(let loop ((counter 1) (temp lst))
(if (= element (car temp))
counter
(loop (+ counter 1) (cdr temp)))))
(define (rle coins)
(cond ((null? coins) '()))
(if ((equal? (car coins) (cadr coins)))
(rle (cdr coins))
(append '( cons (element-index (coins) (car coins)) (car coins))
'( cons (rle (cdr coins))))))
【问题讨论】:
标签: list scheme racket r5rs non-procedure-application