1

副作用の手術を受けました

     securities |> Seq.map (fun x -> request.Append("securities",x))

コードを実行させる最も慣用的な方法は何ですか?

Seq.Doit を書きましたが、むずむずします。

  module Seq =
     let Doit sa = sa |> Seq.toArray |> ignore
4

2 に答える 2

6

Seq.iterこの場合は適切だと思います。MSDN リファレンス ページから:

Seq.iter : ('T -> unit) -> seq<'T> -> unit

指定された関数をコレクションの各要素に適用します。

request.Appendしたがって、何も返さないと仮定すると、コードは次のようになります。

securities |> Seq.iter (fun x -> request.Append("securities", x))
于 2012-03-09T09:40:36.740 に答える
2

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
于 2012-03-09T10:18:10.673 に答える