如何在 F# 中获取子列表或子序列

How to get a sublist or a subsequence in F#

我正在尝试截断此序列,就像您在 F# 中处理数组一样

let sublist sequ (i:int) (n:int) = 
    let item = Seq.item(n-i) sequ
    let start = Seq.item i sequ
    let ending = Seq.item n sequ
    Seq.truncate(item) (seq{start..ending})

sublist [|25..92|] 5 10 

喜欢可以在这里完成

 Array.sub [|5..20|] 3 10

您忘记写预期结果了。

您可以使用 takeskip 作为评论中的链接答案:

let sublist sequ (i:int) (n:int) = 
    sequ |> Seq.skip i |> Seq.take (n-1)

请注意,如果您正在处理数组,则可以使用数组切片:

[|25..92|].[5..10]  
> 
val it : int [] = [|30; 31; 32; 33; 34; 35|]

[|5..20|].[3..10]
 > 
 val it : int [] = [|8; 9; 10; 11; 12; 13; 14; 15|]