【问题标题】:Coffescript and multiple argumentsCoffeescript 和多个参数
【发布时间】:2015-03-15 00:41:08
【问题描述】:

我看不出这里的语法问题在哪里:

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

没有问题的时候有

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

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

【问题讨论】:

    标签: coffeescript


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 2011-10-27
      • 1970-01-01
      • 2015-01-21
      • 2013-12-25
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多