普通Lisp新手。我在理解Lisp函数中传递的参数时遇到麻烦。例如,想象一下Common Lisp(例如SBCL)中的以下函数定义:
(defun foo (x <&-keyword goes here> args)
(let ((v (make-hash-table args)))
(setf (gethash "foo" v) x)
v))
我的问题是:在这种情况下,是否可以指定一个&关键字来将关键字参数传递foo
给make-hash-table
?我已经尝试&rest
过使用&关键字,它始终会给我以下警告:
; caught WARNING:
; The function MAKE-HASH-TABLE is called with odd number of keyword arguments.
我也了解&allow-other-keys
作为一个可能与-keyword,但似乎还没有找到如何能在其他键的使用make-hash-table
范围内foo
。因此,我很困惑。可以在Common Lisp中将关键字参数传递给内部函数调用吗?如果是这样,怎么办?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句