F#style - prefer()或<|

Tor*_*ing 3 f# coding-style

您发现自己最常使用哪两种替代品,哪种更"惯用"?

  1. f arg(obj.DoStuff())
  2. f arg <| obj.DoStuff()

Bri*_*ian 5

总的来说,我不知道其中一个是更惯用的.

就个人而言,我唯一一次使用<| 是"加薪":

raise <| new FooException("blah")
Run Code Online (Sandbox Code Playgroud)

除此之外,我总是使用parens.请注意,由于大多数F#代码使用curried函数,因此通常不会暗示任何"额外"的parens:

f arg (g x y)
Run Code Online (Sandbox Code Playgroud)

当你进入非curried函数和构造函数时,它开始变得不那么漂亮了:

f arg (g(x,y))
Run Code Online (Sandbox Code Playgroud)

我们可能至少会考虑更改F#语言规则,以便高优先级应用程序更紧密地绑定; 马上

f g()
Run Code Online (Sandbox Code Playgroud)

解析像

f g ()
Run Code Online (Sandbox Code Playgroud)

但是很多人都希望它能够解析为

f (g())
Run Code Online (Sandbox Code Playgroud)

(原始问题中的激励案例).如果您对此有强烈意见,请对此回复发表评论.