在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)
Run Code Online (Sandbox Code Playgroud)
如果不是在一条长不可理解的线路上,人们通常如何安排args?
注意这不是关于个人偏好的问题,而是关于如何推荐它的完成
通常,它会像这样对齐:
(foo-func 'foo
'bar
'baz
'qux
'foo-bar
'foo-baz
'foo-qux
'bar-foo
'bar-baz
'you-get-the-idea)
Run Code Online (Sandbox Code Playgroud)
在某些情况下,您可以将多个参数放在一行中:
(foo-func 'foo
'bar
'baz
'qux
'foo-bar 'foo-baz 'foo-qux
'bar-foo 'bar-baz
'you-get-the-idea)
Run Code Online (Sandbox Code Playgroud)
但是,任何具有多个参数的函数通常都会大量使用关键字参数:
(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)
Run Code Online (Sandbox Code Playgroud)
在这里,您可以将所需参数放在一行:
(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)
Run Code Online (Sandbox Code Playgroud)