小编jhs*_*val的帖子

在 Common Lisp 中交替大写/小写字符串

我想编写一个函数,该函数将返回一个在 Common Lisp 中使用可选大写/小写格式的字符串。例如,输入“stackoverflow”应返回字符串“StAcKoVeRfLoW”。这是我的尝试,但它只返回一个缺点对列表。我在正确的轨道上吗?

(defun mockify (chars)
  (let ((lst (coerce chars 'list)))
    (if (equal lst nil) nil
        (coerce (cons
                 (cons (char-upcase (car lst)) (char-downcase (cadr lst)))
                      (mockify (cddr lst)))
                'string))))

CL-USER> (mockify "meow")
((#\M . #\e) (#\O . #\w))
Run Code Online (Sandbox Code Playgroud)

lisp common-lisp

4
推荐指数
1
解决办法
86
查看次数

标签 统计

common-lisp ×1

lisp ×1