VSCode问题:如果"(*)"没有部分应用的可变参数,则可以删除lambda



以下行导致F# LinterVSCode的标题中列出问题(不是错误,而是建议(,指向lambda:

let product = [1;5;4;9;3] |> List.reduce (fun a b -> a * b)

这可以简化吗?我不知道有什么其他方法可以在没有lambda的情况下内联编写这个乘法函数。此外,我在System.Math类或F#等价函数中找不到此函数。

或者F# Linter在这种情况下是错误的?

reduce需要一个包含2个参数的函数,而乘法运算符*是一个包含两个参数的功能,您可以直接传递该函数,而无需将其封装在fun中。

所以lint建议你这样写:

let product = [1;5;4;9;3] |> List.reduce (*)

最新更新