函数名称和左括号之间的 Coffeescript 空格
Coffeescript whitespace between function name and left parenthese
函数名和左括号之间的空格有什么意义?
foo=(x,y)->x*y
foo(1,2) # ok
foo (1,2) # not ok
上面最后一行给出了一个 error: unexpected ,
.
在 Coffeescript 中,您可以调用一个函数,该函数接受带或不带括号的参数:
foo(1,2)
foo 1, 2
如果您有 space,那么它可以很好地解释与参数在同一行中的任何内容。让我们以另一个函数 bar
为例,它只接受一个参数:
bar = (x) -> x * x
您可以在括号前使用 space 来调用它:
bar (2)
# ---> 4
这是因为 Coffeescript(或 Javascript)中的括号可用于包裹表达式以及调用函数。常见示例在 if
语句或复杂的条件/数学表达式中。在 bar (2)
的情况下,表达式的内容被简单地计算为 2(就像您在咖啡 CLI 中键入 2
一样)。然后将其传递给 bar
,就像您调用 bar 2
.
一样
对于接受两个参数的函数 foo
,它将 (1,2)
计算为一个表达式。但是 ,
不是有效的运算符,因此会引发错误。就像您在咖啡 CLI 中键入 1,2
一样。
函数名和左括号之间的空格有什么意义?
foo=(x,y)->x*y
foo(1,2) # ok
foo (1,2) # not ok
上面最后一行给出了一个 error: unexpected ,
.
在 Coffeescript 中,您可以调用一个函数,该函数接受带或不带括号的参数:
foo(1,2)
foo 1, 2
如果您有 space,那么它可以很好地解释与参数在同一行中的任何内容。让我们以另一个函数 bar
为例,它只接受一个参数:
bar = (x) -> x * x
您可以在括号前使用 space 来调用它:
bar (2)
# ---> 4
这是因为 Coffeescript(或 Javascript)中的括号可用于包裹表达式以及调用函数。常见示例在 if
语句或复杂的条件/数学表达式中。在 bar (2)
的情况下,表达式的内容被简单地计算为 2(就像您在咖啡 CLI 中键入 2
一样)。然后将其传递给 bar
,就像您调用 bar 2
.
对于接受两个参数的函数 foo
,它将 (1,2)
计算为一个表达式。但是 ,
不是有效的运算符,因此会引发错误。就像您在咖啡 CLI 中键入 1,2
一样。