次のプログラムを検討してください。文字列のリストを取得し、各文字列の最初の文字を文字列として返すことになっています。たとえば、(downward (cons "caa" (cons "abbb" empty))
を返す必要があります"ca"
。エラーが発生し続けるのはなぜですか?
(define (downward l)
(cond
[(empty? l) ""]
[else (substring (first l) 0 1
(downward (rest l)))]))