管道运营商问题

时间:2013-09-22 16:24:51

标签: .net f#

我想使用管道编写下一个函数:

A = 1/Sum[1-k](x^2)

所以我写的时候:

//Adaptive step
let a_Adaptive x =
    x
    |> Array.map (fun x -> x ** 2.0)
    |> Array.sum
    |> (**) -1.0

f#将(**)解释为多行注释,但我想将其用作函数。 有什么建议吗?

1 个答案:

答案 0 :(得分:7)

您只需在**

之前添加空格
let a_Adaptive x =
    x
    |> Array.map (fun x -> x ** 2.0)
    |> Array.sum
    |> ( ** ) -1.0

来自F#规范:

  

要定义以*开头的其他运算符,必​​须遵循空格   左括号;否则(*被解释为a的开头   评价:

     

let(* + *)x y =(x + y)

相关问题