让我们获取这些数据:
let a = [10; 11; 12; 13; 14; 0; 15; 16]
我正在尝试这样做:
[
let mutable skip = false
for i in 0 .. a.Length - 1 do
if a.[i] = 0 then skip <- true
if not skip then yield a.[i]
]
但是我想知道List.unfold是否可以用于此? (以及如何?)
在实践中,我正在从Excel文件中获取一个序列序列(行的序列,每个序列包含一列的列),并且我想在遇到空行时停止解析,但是简化的示例进行说明。
上面的表达式有效,所以这是关于我了解是否可以将展开方式应用到这一点。
答案 0 :(得分:3)
我会使用takeWhile:
courses/course-listing/?tag=test
答案 1 :(得分:0)
是的,您可以使用List.unfold
:
let a = [10; 11; 12; 13; 14; 0; 15; 16]
a
|> List.unfold (function
| [] -> None
| x :: rest -> if x = 0 then None else Some (x, rest)
)