9
Dato il seguente:Passando funzione F # per IEnumerable.Where vs IEnumerable.All
open System.Linq
let even n = n % 2 = 0
let seqA = seq { 0..2..10 }
questa è un'espressione valida:
seqA.Where(even)
ma non è questo:
seqA.All(even)
Perché il passaggio da even
a Where
è consentito ma non a All
?
Qual è il messaggio di errore hai trovato? –
Secondo me hai scoperto un bug. Vorrei inviare questo a [email protected] – Daniel
Questo sembra essere un altro caso di [questo] (http://stackoverflow.com/questions/12933366/f-func-type-inference-difference-between-seq-and-pseq-todictionary). Come soluzione alternativa, 'seqA.All (System.Func <_,_> (even))' dovrebbe funzionare, o 'seqA.All (fun x -> even x)'. –