3

我希望能够做到:

(function-arity (intern "expt"))

我用谷歌搜索了这个解决方案 https://github.com/emacsmirror/parser/blob/master/parser-fn.el

但它正在使用help-function-arglist,所以它并不完全简单。我想要更坚固的东西,最好是坚如磐石的东西。

4

2 回答 2

3

没有坚如磐石的东西function-arity。在人们想要的大多数情况下,他们真正想要的是根据函数接受的参数数量以不同的方式调用函数(例如,因为它的签名在不同的 Emacs 版本中是不同的),在这种情况下,“尝试”的方法用许多参数调用它并捕获潜在的错误”几乎和它一样好。

于 2013-07-22T14:43:38.163 回答
1

看不到任何错误的 WRT help-function-arglist,这就是它的工作。

虽然 lambda-arity--pointed at- 似乎仍然有一些错误。

例如

(optional-arglist (memq '&optional arglist))

应该使用 `member '&optional',它将返回剩余的列表,从而启用剩余元素的计数。

于 2013-07-22T19:14:11.000 回答