Parameters 什么';拥有<;|的意义何在在F#中?

Parameters 什么';拥有<;|的意义何在在F#中?,parameters,f#,Parameters,F#,在F#中,反向管道操作符用作将参数传递到函数中的方法 现在我已经理解了拥有|>的伟大理念,让程序员轻松看到受影响的值,而不必经历一系列嵌套函数调用,这是非常棒的,看起来很漂亮: let newList = someList |> List.map (fun x -> x * 3) |> List.filter (fun x -> x > 12) 所以我的问题是,如果函数的调用方式类似于funcName

在F#中,反向管道操作符
用作将参数传递到函数中的方法

现在我已经理解了拥有
|>
的伟大理念,让程序员轻松看到受影响的值,而不必经历一系列嵌套函数调用,这是非常棒的,看起来很漂亮:

let newList = someList
                |> List.map (fun x -> x * 3)
                |> List.filter (fun x -> x > 12)

所以我的问题是,如果函数的调用方式类似于
funcName-param
,那么让
funcName避免使用括号有什么意义,类似于Haskell中的
$
。请参阅带有$in的函数应用程序一节。

它的存在是为了避免使用括号,类似于Haskell中的
$
。请参阅带有$in的函数应用程序一节。

虽然不是重复的,但我已经看到了管道的点。虽然不是重复的,但我已经看到了管道的点。
$
是正确关联的,而
会产生什么样的影响?@解析器将以不同的顺序读取代码,因此,在最好的情况下,您将得到与类型相关的错误,在最坏的情况下,代码将在运行时以不同的顺序执行类型检查。这是
raise(InvalidOperationException(“不要这样做!”)
raise之间的区别请注意,
$
是正确关联的,然而,
这会产生什么样的影响?@解析器将以不同的顺序读取代码,因此,充其量您将得到与类型相关的错误,最坏的情况下,代码将在运行时以不同的顺序执行类型检查。这是
引发(invalidooperationexception(“不要这样做!”)之间的区别
升起