如何打开 seq>>或另一种方式制作 Seq.collect(fun x -> x)

发布于 2024-11-09 11:53:27 字数 651 浏览 6 评论 0 原文

dashboard.Grid
|> Seq.mapi ^-^ fun y sx -> 
    sx  |> Seq.mapi ^-^ fun x s -> 
        if not <| s.IsEmpty && s.CellState.Color = color then 
            let psteps = s.CellState.motion( dashboard, new SPosition(x,y), color )
            if psteps <> null then
                if psteps.IsEmpty then
                    Some(psteps)
                else
                    None
            else None
        else None
    |> Seq.choose id
|> Seq.collect(fun x -> x)
|> Seq.collect(fun x -> x)

所以,我只是觉得这个序列的最后一部分(2 个字符串)很奇怪。我可以用另一种方式打开序列吗? List.ofSeq() 在这里不起作用。

谢谢。

dashboard.Grid
|> Seq.mapi ^-^ fun y sx -> 
    sx  |> Seq.mapi ^-^ fun x s -> 
        if not <| s.IsEmpty && s.CellState.Color = color then 
            let psteps = s.CellState.motion( dashboard, new SPosition(x,y), color )
            if psteps <> null then
                if psteps.IsEmpty then
                    Some(psteps)
                else
                    None
            else None
        else None
    |> Seq.choose id
|> Seq.collect(fun x -> x)
|> Seq.collect(fun x -> x)

So, I just thing the last part (2 strings) of this sequence is weird. Can I open sequence another way ? List.ofSeq() doesn't work here.

thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷爱 2024-11-16 11:53:27

我认为您正在寻找 Seq.concat,它与 Seq.collect(fun x -> x) (或 Seq.collect id )。

I think you're looking for Seq.concat, which is the same as Seq.collect(fun x -> x) (or Seq.collect id).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文