parameters - 普通口齿不清 : Working with &rest parameters

标签 parameters lisp common-lisp

谁能告诉我如何使用存储在 &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/

相关文章:

haskell - FP 对表达式的操作

macros - Common Lisp (SBCL) 中的素数宏

common-lisp - 如何使用管道将二进制文件发送到Lisp进程?

java - JAVA 如何在一行中通过方法的参数设置多个实例字段?

python - 如何使用动态名称实现 property()(在 python 中)

c# - 如何在 C# 中创建一个以方法作为参数且参数数量不确定的方法?

lisp 每个子列表奇数的最后一个元素

Python:定义具有可变数量参数的函数

scheme - 如何处理在执行 sicp 练习 4.9 时产生的这个错误?

lisp - 根据 Lisp 中的字符匹配对列表进行排序