gpt4 book ai didi

.net - 将F#函数传递给IEnumerable.Where与IEnumerable.All

转载 作者:行者123 更新时间:2023-12-04 04:38:29 24 4
gpt4 key购买 nike

给定以下内容:

open System.Linq

let even n = n % 2 = 0

let seqA = seq { 0..2..10 }

这是一个有效的表达式:
seqA.Where(even)

但这不是:
seqA.All(even)

为什么允许将 even传递给 Where 但不允许传递给 All

最佳答案

尽管可能存在错误,但我认为更好的方法是在处理F#中的IEnumerable<T>而不是Linq时使用Seq高阶函数

let even n = n % 2 = 0
let seqA = seq { 0..2..10 }

seqA |> Seq.filter even
//val it : seq<int> = seq [0; 2; 4; 6; ...]

seqA |> Seq.forall even
//val it : bool = true

关于.net - 将F#函数传递给IEnumerable.Where与IEnumerable.All,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com