谁能告诉我如何使用存储在 &rest 指定值中的参数。
我已经阅读了很多,似乎作者只知道如何列出所有参数。
(defun test (a &rest b) b)
这很高兴看到,但并不是很有用。
到目前为止,我发现的最好方法是使用 first、second 等来获取您要查找的参数。
(defun test (a &rest b)
(first b))
我注意到此方法在第十个参数处停止工作,但规范(根据我阅读的内容)支持最少 50 个参数。即使我使用 50 个参数的机会很小,我还是想知道如何访问它们。
谢谢
最佳答案
Rest 参数只是一个列表。您可以使用正常的列表操作来处理它。
(defun test (a &rest b))
(dolist (s b)
(when (> s 1)
(print s)
(do-something-else b)))
关于parameters - 普通口齿不清 : Working with &rest parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629699/