Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 如何调用扩展方法将结果传递给F#函数_Linq_F# - Fatal编程技术网

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

Linq 如何调用扩展方法将结果传递给F#函数,linq,f#,Linq,F#,为什么在例1、例2、例3中我没有问题,但例3给出了一个错误: 此函数接受太多参数,或用于不需要函数的上下文中 让我们添加一个b= a+b 打印fn“示例1:%i”(添加1和2) 让我们附加(列表:seq)x= 列表.Concat[x] 让count=(追加[1;2]3.count() printfn“示例2:%i”计数 printfn“示例3:%i”(可枚举的.Count(追加[1;2]3)) printfn“示例4:%i”(追加[1;2]3)。计数 谢谢马克的提示!下面的例子是我最初尝试做的工

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

此函数接受太多参数,或用于不需要函数的上下文中

让我们添加一个b=
a+b
打印fn“示例1:%i”(添加1和2)
让我们附加(列表:seq)x=
列表.Concat[x]
让count=(追加[1;2]3.count()
printfn“示例2:%i”计数
printfn“示例3:%i”(可枚举的.Count(追加[1;2]3))
printfn“示例4:%i”(追加[1;2]3)。计数

谢谢马克的提示!下面的例子是我最初尝试做的工作

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

printfn "Example 4: %i" ((append [1;2] 3).Count())
let append(列表:seq)x=
列表.Concat[x]
printfn“示例4:%i”((追加[1;2]3).Count())

如果我有机会简要解释一下为什么需要额外的一组括号,我会用细节更新这个答案。

谢谢马克的提示!下面的例子是我最初尝试做的工作

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

printfn "Example 4: %i" ((append [1;2] 3).Count())
let append(列表:seq)x=
列表.Concat[x]
printfn“示例4:%i”((追加[1;2]3).Count())

如果我有机会简要解释一下为什么需要额外的一组括号,我会用细节更新这个答案。

我怀疑您需要额外的括号(但现在没有编译器检查)-尝试
((append[1;2]3.Count)
您忘记了括号:
(append[1;2]3.Count()
Count()
是一个扩展方法,而不是属性,因此需要提供
()
才能调用它。此外,还需要将整个表达式分组到括号中:
((append[1;2]3).Count())
。这里有一个答案解释了何时使用括号,以及为什么在F#:我怀疑您需要额外的括号(但现在没有编译器检查)-尝试
((append[1;2]3.Count)
您忘记了括号:
(append[1;2]3.Count()
Count()
是一个扩展方法,而不是属性,因此您需要提供
()
以便调用它。此外,还需要将整个表达式分组到括号中:
((append[1;2]3).Count())
。这里有一个答案解释了何时使用括号,以及为什么在F#中使用括号: