3
高优先级应用程序表达式是一种标识符紧接着左括号而不介入空白的标识符,例如f(g)
。将这些作为函数参数传递时,需要括号:func (f(g))
。高优先级应用程序表达式作为参数
Section 15.2 of the spec声明语法和优先级规则允许非隐含格式 - func f(g)
- 但是额外的检查可以防止这种情况。
为什么这是故意禁止的?它可以避免使用过多的括号和管道,并且通常会使代码更清洁。
一个常见的例子是
raise <| IndexOutOfRangeException()
或
raise (IndexOutOfRangeException())
可能成为简单
raise IndexOutOfRangeException()
在空白非常重要的语言中,这似乎不是问题。 :-) – Daniel
这看起来像一个有趣的线程。谢谢。 – Daniel
@丹尼尔 - 我想这是一个选择问题,空白应该在多大程度上显着。进一步说,我们还可以使用双空格表示法为'goo(foo 1)(bar 2)'写'goo foo 1 bar 2' :-)。 (编辑:这将使发布到SO评论困难,因为双空间在这里忽略...) –