管道运营商问题

Dzm*_*voi 6 .net f#

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

A = 1/Sum[1-k](x^2)
Run Code Online (Sandbox Code Playgroud)

所以当我写:

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

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

Lee*_*Lee 7

你只需要在**:之前添加一个空格:

let a_Adaptive x =
    x
    |> Array.map (fun x -> x ** 2.0)
    |> Array.sum
    |> ( ** ) -1.0
Run Code Online (Sandbox Code Playgroud)

从F#规范:

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

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