调用具有多个参数的函数的惯用方法是什么?

时间:2014-09-30 06:15:25

标签: coding-style lisp

在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?

注意这不是关于个人偏好的问题,而是关于它是如何推荐的

1 个答案:

答案 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)