使用f#中的Sequences强制计算的最惯用的样式是什么?

nic*_*las 1 arrays f# sequences deferred

我有一个副作用

     securities |> Seq.map (fun x -> request.Append("securities",x))
Run Code Online (Sandbox Code Playgroud)

使代码执行的最惯用的方法是什么?

我写了一个Seq.Doit,但它发痒

  module Seq =
     let Doit sa = sa |> Seq.toArray |> ignore
Run Code Online (Sandbox Code Playgroud)

sta*_*ica 6

我认为Seq.iter在这种情况下是合适的.从MSDN参考页面:

Seq.iter : ('T -> unit) -> seq<'T> -> unit
Run Code Online (Sandbox Code Playgroud)

将给定函数应用于集合的每个元素.

因此,假设request.Append不返回任何内容,您的代码将变为:

securities |> Seq.iter (fun x -> request.Append("securities", x))
Run Code Online (Sandbox Code Playgroud)