Ich erinnere mich an eine ältere Version von F #, die strukturelle Dekomposition erlaubt, wenn Sequenzen genau wie Listen abgeglichen werden. Gibt es eine Möglichkeit, die Listen-Syntax zu verwenden, während die Sequenz faul bleibt? Ich hoffe, eine Menge Anrufe zu Seq.head und Seq.skip für wie etwas 1.Kann man mit zerlegten Sequenzen in F # übereinstimmen?
Ich hoffe, zu vermeiden:
let decomposable (xs:seq<'a>) =
match xs with
| h :: t -> true
| _ -> false
seq{ 1..100 } |> decomposable
Aber dies nur Griffe Listen und gibt einen Typ Fehler, wenn Sequenzen verwenden. Wenn Sie List.of_seq verwenden, scheint es alle Elemente in der Sequenz auszuwerten, auch wenn es unendlich ist.
Link hier für jeden, der (wie ich) nicht wusste, was das Netzteil ist: http://fsharppowerpack.codeplex.com/ – gatoatigrado