にMap.iter機能により地図からリストを作成:は、私は次のタイプを持っているのF#
type ColorCounter =
{
Count : int
Color : Microsoft.Xna.Framework.Color
}
let AvailableColors : Map<uint32,ColorCounter> = .....
私は地図を反復処理し、リストを返すようにしたいと思います。私はITERに渡された関数の構文と間違って何かをやっていると思います
let AvailableColorList(map : Map<uint32,ColorCounter>) : List<Microsoft.Xna.Framework.Color> =
let colorSeq = seq {
map |> Map.iter (fun key col -> yield col.Color)
}
colorSeq |> Seq.toList
が、私は私がどのように示して任意の適切な例を見つけていませんでした:私はコンパイルされません。次の関数を書きましたそれを行う。
誰でも助けてもらえますか?私のエラーは何ですか?上記のコードをどうすれば修正できますか?
答えに感謝し、それを書くことができます。しかし、ListとしてAvailableColorListの戻り値の型を指定すると、なぜコンパイルされないのかまだ分かりません。 –
Heisenbug
実際、Listではなく、(ColorCounter-> Microsoft.Xna.Framework.Color)のリストを返すようです。私が間違っている? –
Heisenbug
'System.Collection.Generic.List'(F#で 'ResizeArray 'とエイリアス)したい場合、 'ResizeArray([Map内のKeyValue(_、col)の場合 - > col.Color]) ' –
Daniel