Как форматировать определение функции с помощью аргументов на нескольких строках?

Я хотел бы поместить аргументы в разные строки, но я получаю ошибки синтаксического анализа во всех вариантах, которые я пытаюсь, включая добавление запятых, паттернов в стиле allwin и разных отступов.

  constructor: (
    @a
    @b
    @c
  ) ->

Ответы

Ответ 1

Try:

constructor:\
( @a
, @b
, @c
) ->

Оба трейлинга \ и ведущие , подавляют новые строки в CoffeeScript.

Ответ 2

Кажется, вам не повезло. Если вы посмотрите на грамматические правила для определения функции, вы увидите, что правило определяется как:

'PARAM_START ParamList PARAM_END FuncGlyph Block'

Правило для Block допускает токены TERMINATOR (которые являются запятой или возвратом каретки), но правило ParamList (тот, который вам интересен при добавлении новой строки) не позволяет этого.