我怎样才能写出coffeescript的简短定义

时间:2014-03-14 16:26:44

标签: coffeescript

define ['a', 'b', 'c'], (A, B, C,) ->

我想写

define
  ['a', 'b', 'c']
   , (A, B, C,) ->

如何在没有编译器错误的情况下执行此操作?

2 个答案:

答案 0 :(得分:1)

define( 
  ['a', 'b', 'c']
  (A, B, C) -> 
    "D"
)

编译为:

define(['a', 'b', 'c'], function(A, B, C) {
  return "D";
});

作为一般规则,如果您有多个参数要在输出中以逗号分隔,但在输入中以行分隔,请将它们放在相同的缩进级别。

定义之后的括号必须告诉编译器有一组需要传递给函数的东西。

输入中的C之后的逗号也会导致错误。

答案 1 :(得分:0)

首先,你必须摆脱匿名函数参数列表中的尾随逗号。然后你有几个选择:

define \
  ['a', 'b', 'c']
  (A, B, C) ->

请注意,反斜杠后面没有除换行之外的任何内容。或者你可以添加括号:

define(
  ['a', 'b', 'c']
  (A, B, C) ->
)

但要非常小心,不要在define(之间留下任何空格,否则您将在JavaScript版本中出现意外JavaScript comma operator