Common Lisp:如何将关键字参数传递给另一个函数?

大卫·阿特拉斯

普通Lisp新手。我在理解Lisp函数中传递的参数时遇到麻烦。例如,想象一下Common Lisp(例如SBCL)中的以下函数定义:

(defun foo (x <&-keyword goes here> args)
  (let ((v (make-hash-table args)))
    (setf (gethash "foo" v) x)
    v))

我的问题是:在这种情况下,是否可以指定一个关键字来将关键字参数传递foomake-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中将关键字参数传递给内部函数调用吗?如果是这样,怎么办?

sds

您正在寻找的是apply

(defun foo (x &rest mht-arguments)
  (let ((v (apply #'make-hash-table mht-arguments)))
    (setf (gethash "foo" v) x)
    v))

另请参阅关于如何将其与结合使用的其他答案&key

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Common Lisp:如果已经传递给我,如何传递关键字参数

来自分类Dev

朱莉娅-将关键字参数传递给另一个函数?

来自分类Dev

如何在Common Lisp中要求关键字参数?

来自分类Dev

Common Lisp-如何使用关键字参数对函数进行调用/应用?

来自分类Dev

如何将&rest参数传递给emacs lisp中的另一个函数?

来自分类Dev

如何通过另一个函数将关键字参数传递给`range`函数,并保持用户使用Julia的灵活性?

来自分类Dev

如何将参数传递给作为另一个函数参数的函数

来自分类Dev

如何将tanh函数作为参数传递给另一个函数?

来自分类Dev

如何将函数作为参数传递给另一个函数?

来自分类Dev

如何将泛型函数作为参数传递给另一个函数?

来自分类Dev

如何将命名参数传递给另一个函数需要的函数?

来自分类Dev

如何将参数数组传递给JavaScript中的另一个函数?

来自分类Dev

如何将参数4..99传递给另一个函数

来自分类Dev

如何将函数的所有参数传递给另一个命令?

来自分类Dev

如何将一个函数作为参数传递给另一个函数

来自分类Dev

R-如何将一个函数作为参数传递给另一个函数?

来自分类Dev

如何将一个函数的值传递给另一个函数?

来自分类Dev

如何将可变函数参数作为参数传递给另一个函数?

来自分类Dev

为什么在Common Lisp中需要偶数个关键字参数?

来自分类Dev

为什么在Common Lisp中需要偶数个关键字参数?

来自分类Dev

如何将函数和参数的变量列表传递给C中的另一个函数?

来自分类Dev

如何将非静态成员函数作为模板参数传递给另一个成员函数?

来自分类Dev

Python:如何将函数作为参数传递给另一个函数,而不自动运行它

来自分类Dev

Python MYSQL tupple问题。如何将参数传递给另一个类中执行查询的函数

来自分类Dev

如何将指针传递给在另一个结构内部声明的结构作为函数参数?

来自分类Dev

如何将参数传递给另一个具有相同名称的内部函数?

来自分类Dev

Common Lisp确定是目录是子目录还是另一个目录

来自分类Dev

用另一个Common LISP替换树中的元素

来自分类Dev

如何将Js函数数组传递给另一个Js函数?

Related 相关文章

  1. 1

    Common Lisp:如果已经传递给我,如何传递关键字参数

  2. 2

    朱莉娅-将关键字参数传递给另一个函数?

  3. 3

    如何在Common Lisp中要求关键字参数?

  4. 4

    Common Lisp-如何使用关键字参数对函数进行调用/应用?

  5. 5

    如何将&rest参数传递给emacs lisp中的另一个函数?

  6. 6

    如何通过另一个函数将关键字参数传递给`range`函数,并保持用户使用Julia的灵活性?

  7. 7

    如何将参数传递给作为另一个函数参数的函数

  8. 8

    如何将tanh函数作为参数传递给另一个函数?

  9. 9

    如何将函数作为参数传递给另一个函数?

  10. 10

    如何将泛型函数作为参数传递给另一个函数?

  11. 11

    如何将命名参数传递给另一个函数需要的函数?

  12. 12

    如何将参数数组传递给JavaScript中的另一个函数?

  13. 13

    如何将参数4..99传递给另一个函数

  14. 14

    如何将函数的所有参数传递给另一个命令?

  15. 15

    如何将一个函数作为参数传递给另一个函数

  16. 16

    R-如何将一个函数作为参数传递给另一个函数?

  17. 17

    如何将一个函数的值传递给另一个函数?

  18. 18

    如何将可变函数参数作为参数传递给另一个函数?

  19. 19

    为什么在Common Lisp中需要偶数个关键字参数?

  20. 20

    为什么在Common Lisp中需要偶数个关键字参数?

  21. 21

    如何将函数和参数的变量列表传递给C中的另一个函数?

  22. 22

    如何将非静态成员函数作为模板参数传递给另一个成员函数?

  23. 23

    Python:如何将函数作为参数传递给另一个函数,而不自动运行它

  24. 24

    Python MYSQL tupple问题。如何将参数传递给另一个类中执行查询的函数

  25. 25

    如何将指针传递给在另一个结构内部声明的结构作为函数参数?

  26. 26

    如何将参数传递给另一个具有相同名称的内部函数?

  27. 27

    Common Lisp确定是目录是子目录还是另一个目录

  28. 28

    用另一个Common LISP替换树中的元素

  29. 29

    如何将Js函数数组传递给另一个Js函数?

热门标签

归档