Я пишу программу, в которой предлагается преобразовать все заглавные буквы в str в строчные и строчные в прописные, а все остальные символы остаются прежними. Ниже приведен мой код:
(define (switch-case str)
(list->string (switch-char (string->list str))))
(define (switch-char loc)
(cons
(cond
[(empty? (first loc)) empty]
[(char-lower-case? (first loc)) (char-upcase (first loc))]
[(char-upper-case? (first loc)) (char-downcase (first loc))]
[else (first loc)]) (switch-char (rest loc))))
И сообщение об ошибке для (переключатель "ABC"):
first: ожидает непустой список;дано: пусто
Может кто-нибудь помочь мне с этим? Я не знаю, какая часть кода неправильная: (