0

私は Scala プログラミングの初心者であり、flatmap 関数が頭痛の種です。

検索を依頼する前に、Stackoverflow についていくつか調査しました: https://stackoverflow.com/search?q=scala+map+to+listですが、問題を簡単に解決できるものは見つかりませんでした。

ここに私の問題があります:

Jacop を使用した scala プログラミング プロジェクト ( http://jacopguide.osolpro.com/guideJaCoP.html ) の場合、

この種のマップを変換する必要があります

Map[Int,List[List[IntVar]]]

に :

List[T] 
// In my case , only a List[IntVar] 

flatMap を数回使用する必要があることはわかっていますが、私の場合、それをどのように正しく使用するのだろうかと思います。

ご協力いただきありがとうございます

4

1 に答える 1

2

マップの値からすべてが必要な場合はIntVar、次のようにすることができます。

 map.values.flatten.flatten.toList

を呼び出すと、マップのすべての値を含むがvalues返されます。Iterableこの場合、 type のオブジェクトを返しますIterable[List[List[IntVar]]]。このオブジェクトの最初のflatten-call は、それを にフラット化しますIterable[List[IntVar]]。2 番目のflatten-call は、このオブジェクトをさらに にフラット化しますIterable[IntVar]。最後に、toListメソッドはそれを に変換しList[IntVar]ます。

于 2016-11-27T19:35:53.350 に答える