我注意到 Coffeescript 中的可选括号引入了句法歧义。例如,代码
prompt Math.max(2), 3 # no space after max
编译为
prompt(Math.max(2), 3); // one parameter to max(), two to prompt()
然而
prompt Math.max (2), 3 # space after max
编译为
prompt(Math.max(2., 3)); // two parameters to max(), one to prompt()
即在参数列表之前添加一个空格会改变参数的分组。
这是故意的吗?语言中是否还有其他地方可以使空格产生句法差异?