Coffeescript和多个论点

时间:2015-03-14 12:46:50

标签: coffeescript

我无法在这里看到语法问题在哪里:

x = ()->new TranformService()
angular.module('rcMovable').factory (  "transformService", x)

当没有问题时

x = ()->new TranformService()
angular.module('rcMovable').factory  "transformService", x

暂时忘掉Angular的东西,我有:2:58: error: unexpected ','

1 个答案:

答案 0 :(得分:4)

您不能在方法名称和用于调用它的括号之间放置空格。如果这样做,括号不再是函数调用的一部分,它们是对函数参数的操作顺序。

考虑一些有效和无效语法的例子:

  • x()是一个没有参数的有效调用
  • x ()x无效调用,一个参数()。由于()不是有效表达式,因此这是语法错误。
  • x (name: "bob")x (->3 * 3), 4都是有效的调用,因为(...)是有效的表达式
  • x(a, b)再次是x的有效调用,带有两个参数
  • x (a, b)x无效调用,一个参数(a, b)。同样,(a, b)本身不是一个有效的表达式,因此这是一个语法错误。

在您的情况下,您尝试使用一个参数调用.factory("transformService", x),这不是有效的表达式。

你所写的内容基本上是这样的:

a = ("transformSerice", x) # invalid syntax
factory(a)