Coffeescript 和多个参数

Coffescript and multiple arguments

我看不到 语法 问题在哪里 :

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

那里没有问题的时候

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

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

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

考虑几个有效和无效语法的例子:

  • 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)