副作用の手術を受けました
securities |> Seq.map (fun x -> request.Append("securities",x))
コードを実行させる最も慣用的な方法は何ですか?
Seq.Doit を書きましたが、むずむずします。
module Seq =
let Doit sa = sa |> Seq.toArray |> ignore
Seq.iterこの場合は適切だと思います。MSDN リファレンス ページから:
Seq.iter : ('T -> unit) -> seq<'T> -> unit指定された関数をコレクションの各要素に適用します。
request.Appendしたがって、何も返さないと仮定すると、コードは次のようになります。
securities |> Seq.iter (fun x -> request.Append("securities", x))
Seq.delay遅延シーケンスは、またはシーケンス式 seq{}を使用してシーケンスを作成するときに使用されます。以外のデータ型を返すシーケンスの関数は、seq計算を強制できます。
forまたは、代わりに loop を使用できますSeq.iter。
for s in securities do
request.Append("securities", s)
副作用を非表示にしてrequest、後で使用できるように戻したい場合Seq.foldは、 を選択することをお勧めします。
securities |> Seq.fold (fun acc x -> acc.Append("securities", x); acc) request