F # gibi eski bir sürümü hatırlıyorum, listeler gibi sıraları eşleştirirken yapısal ayrışmaya izin veriyor. Sıra tembelliğini korurken liste sözdizimini kullanmanın bir yolu var mı? Ben böyle bir şey için umut ediyorum Seq.head ve Seq.skip 1. aramalar bir çokF # cinsinden ayrıştırılmış dizilerle eşleştirmek mümkün mü?
önlemek için umuyorum:
let decomposable (xs:seq<'a>) =
match xs with
| h :: t -> true
| _ -> false
seq{ 1..100 } |> decomposable
Ama bu sadece listelerini ele alır bir tür hatası olduğunda sunar dizileri kullanarak. List.of_seq kullanırken, sonsuz olsa bile dizideki tüm öğeleri değerlendirir gibi görünüyor.
(benim gibi) güç paketinin ne olduğunu bilmediği herkes için buraya bağlantı: http://fsharppowerpack.codeplex.com/ – gatoatigrado