代码之家  ›  专栏  ›  技术社区  ›  Torbjörn Gyllebring

F样式-首选()或<|

  •  3
  • Torbjörn Gyllebring  · 技术社区  · 16 年前

    在这两种选择中,你发现自己最常使用哪一种,哪一种更“惯用”?

    1. F arg(obj.dostuf())
    2. F arg<obj.dostuf()。
    4 回复  |  直到 16 年前
        1
  •  5
  •   Brian    16 年前

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

    就我个人而言,我唯一使用的时间是“加薪”:

    raise <| new FooException("blah")
    

    除此之外,我总是用帕伦斯。注意,由于大多数F代码使用了循环函数,这通常并不意味着任何“额外”参数:

    f arg (g x y)
    

    当你进入非课程化的函数和构造器的时候,它开始变得不那么漂亮了:

    f arg (g(x,y))
    

    我们至少会 考虑 更改f语言规则,使高优先级应用程序的绑定更加紧密;现在

    f g()
    

    类解析

    f g ()
    

    但是很多人希望它被解析为

    f (g())
    

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

        2
  •  2
  •   namin    16 年前

    因为类型推断从左到右有效,所以使用 |> 它允许f推断函数参数的类型。

    作为一个做作的例子,

    [1; 2; 3] |> (fun x -> x.Length*2)
    

    工作很好,但是

    (fun x -> x.Length*2) [1; 2; 3]
    

    抱怨“查找不确定类型的对象”。

        3
  •  0
  •   Rayne    16 年前

    我经常使用(),但这只是偏好,我很确定<更符合我的想法,但我习惯使用()。

        4
  •  0
  •   Benjol    16 年前

    如果可能的话,我更喜欢>,因为它是从左到右的。