如何调用扩展方法将结果传递给F#函数

时间:2016-10-07 02:59:11

标签: linq f#

为什么在示例1,2,3中我没有问题但是示例3给出了一个错误:

  

此函数需要太多参数,或者在不期望函数的上下文中使用

let add a b =
    a + b

printfn "Example 1: %i" (add 1 2)

let append (list:seq<int>) x =
    list.Concat [x]

let count = (append [1;2] 3).Count()
printfn "Example 2: %i" count

printfn "Example 3: %i" (Enumerable.Count(append [1;2] 3))

printfn "Example 4: %i" (append [1;2] 3).Count

1 个答案:

答案 0 :(得分:0)

感谢Mark提示!以下示例适用于我最初尝试做的事情。

let append (list:seq<int>) x =
    list.Concat [x]

printfn "Example 4: %i" ((append [1;2] 3).Count())

如果我有机会简要解释为什么需要额外的周围括号,请听我更新这个答案的详细信息。