回答
的Common Lisp提供了函数FUNCTION-LAMBDA-EXPRESSION
可能能够恢复源表达,然后包含lambda列表。
LispWorks定义了一个函数FUNCTION-LAMBDA-LIST
,它返回参数列表。
许多其他实现在某些内部程序包中具有某种形式的ARGLIST
函数。
许多Common Lisp用户使用SLIME,这是GNU Emacs编辑器的一个非常聪明的编辑器扩展。它有一个名为SWANK的Common Lisp后端。 SWANK源为各种Common Lisp实现提供了各种接口,包括获取函数的参数列表。
这是实现特定的,但是这CLHS功能可以让你开始 - http://clhs.lisp.se/Body/f_descri.htm
最简单的方法是使用SLIME使用的SWANK库。
的方式来使用它加载泥,这是最容易通过Quicklisp完成:
(ql:quickload "swank")
然后,您可以使用下面的函数获取参数列表:
CL-USER> (swank-backend:arglist #'a)
(A B)
稍微纠正一下,不能quickload“slime”,因为quicklisp没有它int它默认回购。 但我只是可以(ql:quickload“swank”)。 – Necto
谢谢。这是非常真实的。这是一个错字。我会修复这个帖子。 –
- 1. 有多少个参数需要Haskell的foldr函数?
- 2. transform()需要多少个参数?
- 3. 函数需要多少个字节?
- 4. AS3知道有多少参数的函数需要
- 5. 错误:函数'ptr'的参数太少,需要函数的eval_time
- 6. 一个很少需要的参数的Python函数
- 7. QFile需要多个参数?
- 8. 主要功能需要多少个参数?
- 9. lasagne.layers.DenseLayer:“__init __()至少需要3个参数”
- 10. optparse-applicative:需要至少一个参数
- 11. Flask:TypeError:函数至多需要2个参数(给出4个)
- 12. 找出一个块需要多少个参数
- 13. 这个数据库需要多少?
- 14. 函数需要2个参数,但有3个参数?
- 15. SSRS报告参数需要多个值
- 16. TypeError:file()至多需要3个参数(给出4个参数)
- 17. 需要参数的addEventListener(和removeEventListener)函数
- 18. 需要参数的Javascript结构函数
- 19. 是否需要验证函数参数?
- 20. 多参数函数冗余的第一个参数的默认值是多少?
- 21. GoogleNet有多少个参数?
- 22. setTimeout有多少个参数?
- 23. C:写一个函数不知道有多少个参数
- 24. TypeError:update_info()至少需要4个参数(给出2个参数) - Odoo v10社区
- 25. 需要参数
- 26. random.choice()需要两个参数?
- 27. 函数需要2个参数时,应只有一个
- 28. “Final_Project.Member”不包含一个构造函数需要两个参数
- 29. Python函数:多个参数
- 30. 函数的多个参数
顺便说一句,你知道一个库,它会为主要实现引入一些抽象级别吗? – Necto
Hi Necto,请看看Elias和Rainer的其他答案。 (顺便说一句,Rainer有一个非常好的页面,不知道它是否仍然在线显示Common Lisp的所有荣耀) – malkia