1

私はf#の学習の非常に初期の段階にあり、次のシナリオを考え出しました。電子メールオブジェクトのコレクションをループして、各電子メールのCCプロパティのリストを作成する必要があります。これはf#にとって理想的ですが、その方法を説明するものが見つからないようです。私のグーグルフーは十分ではないと思います、誰かが私を正しい方向に向けることができますか?

編集

したがって、基本的に、あるタイプのMailMessageオブジェクトを別のタイプにマップしたいと思います。最初のタイプには、MailAddressオブジェクトのICollectionとしてCCフィールドがあります。2番目のタイプでは、CCフィールドが文字列のリストである必要があります。

4

2 に答える 2

2

EmailF#レコードとしてモデル化されたタイプがあるとします。

type Email = 
  { Subject: string;
    Body: string; }

および電子メールのリスト:

let emails =
  [ {Subject = "Subject 1"; Body = "Body 1"};
    {Subject = "Subject 2"; Body = "Body 2"};
    {Subject = "Subject 3"; Body = "Body 3"}; ]

リストモジュールの高階関数を使用して、以下を操作できますemails

let bodies = emails |> List.map (fun e -> e.Body)
// val bodies = ["Body 1"; "Body 2"; "Body 3"]

開始するには、関連するトピックに関するいくつかのMSDN資料をご覧ください。

于 2012-10-30T21:58:17.427 に答える
0

このようなもの?

type Email = { Body : string }
// create some emails
let emails = Seq.init 10 (fun i -> { Body = string i })
// get list of bodies
let bodies = emails |> Seq.map (fun { Body = body } -> body) |> Seq.toList
于 2012-10-30T21:53:55.600 に答える