在Lisp中(任何lisp方言都可以)用许多 args调用函数的惯用方法是什么?
许多人的意思是超过80个字符的限制。
假设我们有一个名为foo-func
的示例函数,它接受可变数量的参数
(foo-func 'foo 'bar 'baz 'qux 'foo-bar 'foo-baz 'foo-qux 'bar-foo 'bar-baz 'you-get-the-idea)
如果没有长时间难以理解的线路,人们通常会如何安排args?
注意这不是关于个人偏好的问题,而是关于它是如何推荐的
答案 0 :(得分:7)
通常,它会像这样对齐:
(foo-func 'foo
'bar
'baz
'qux
'foo-bar
'foo-baz
'foo-qux
'bar-foo
'bar-baz
'you-get-the-idea)
在某些情况下,您可以在一行中放置几个属于一起的参数:
(foo-func 'foo
'bar
'baz
'qux
'foo-bar 'foo-baz 'foo-qux
'bar-foo 'bar-baz
'you-get-the-idea)
但是,任何具有多个参数的函数通常都会大量使用关键字参数:
(foo-func 'foo
'bar
'baz
'qux
:barista 'foo-bar
:bazaar 'foo-baz
:quxfrog 'foo-qux
:baroofa 'bar-foo
:barazza 'bar-baz
:say-what 'you-get-the-idea)
在这里,您可以将所需参数放在一行:
(foo-func 'foo 'bar 'baz 'qux
:barista 'foo-bar
:bazaar 'foo-baz
:quxfrog 'foo-qux
:baroofa 'bar-foo
:barazza 'bar-baz
:say-what 'you-get-the-idea)