我有一个简单的清单:
let l = [ 1; 1; 1; 1; 2; 1; 1; 1 ]
Run Code Online (Sandbox Code Playgroud)
我想知道有多少元素与第一个匹配,没有中断(示例中为 4)
let mutable i = 0
while l.[i] = l.[0] do
i <- i + 1
Run Code Online (Sandbox Code Playgroud)
但是有没有更符合 F# 习惯的方法来做到这一点?通过列表功能之一?
let l = [ 1; 1; 1; 1; 2; 1; 1; 1 ]
let res =
l
|> Seq.takeWhile(fun i -> i = l.Head)
|> Seq.length
Run Code Online (Sandbox Code Playgroud)