副作用の手術を受けました
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