我正在尝试编写一个函数,通过以下方式将关键字参数传递给函数
(defun hyphenate (string &key upper lower)
(do ((s (cdr (coerce string 'list)) (cdr s))
(acc (string (char string 0))))
((null s) (cond
(lower (string-downcase acc))
(t (string-upcase acc))))
(cond
((upper-case-p (car s)) (setf acc (concatenate 'string
(concatenate 'string acc "-")
(string (car s)))))
(t (setf acc (concatenate 'string acc (string (car s)))))))))
Run Code Online (Sandbox Code Playgroud)
基本上,如果函数接收关键字upper,它将调用string-upcase,如果它接收到key down,它将执行string-downcase.
我只是不知道在我的函数中测试这些参数的适当方法是什么.我不想将它们绑定到一个值.我只想这样打电话给他们
(连字符"jobPostings":上)
如何在函数调用中检查是否存在:upper?它一直告诉我有一个"未成对的关键字传递给连字符"