回答
的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. 多少参数做的strstr需要
- 6. 错误:函数'ptr'的参数太少,需要函数的eval_time
- 7. 一个很少需要的参数的Python函数
- 8. 需要多个强参数
- 9. QFile需要多个参数?
- 10. 主要功能需要多少个参数?
- 11. optparse-applicative:需要至少一个参数
- 12. lasagne.layers.DenseLayer:“__init __()至少需要3个参数”
- 13. 排序函数需要4个参数?
- 14. MIN函数需要1个参数
- 15. ISNULL函数需要2参数(一个或多个)
- 16. Flask:TypeError:函数至多需要2个参数(给出4个)
- 17. 找出一个块需要多少个参数
- 18. 找出一个方法的PyObject多少个参数需要
- 19. 我需要多少个双倍投数
- 20. 这个数据库需要多少?
- 21. 函数需要2个参数,但有3个参数?
- 22. 如果成员函数需要多个参数,则使用mem_fun_ref
- 23. System.Data.OleDb.OleDbException需要一个或多个参数
- 24. SSRS报告参数需要多个值
- 25. 强大的参数需要多个
- 26. TypeError:file()至多需要3个参数(给出4个参数)
- 27. 需要参数的Javascript结构函数
- 28. DdlGenerator构造函数不需要参数?
- 29. 是否需要验证函数参数?
- 30. 需要参数的addEventListener(和removeEventListener)函数
顺便说一句,你知道一个库,它会为主要实现引入一些抽象级别吗? – Necto
Hi Necto,请看看Elias和Rainer的其他答案。 (顺便说一句,Rainer有一个非常好的页面,不知道它是否仍然在线显示Common Lisp的所有荣耀) – malkia