HList
はSymbols
です。私はHMap
にkeys
としてHList
の値とkey
に基づいて生成されたオブジェクトにvalue
のマッピングを設定して変換したいと思います。生成されたオブジェクトは状態を保持するため、デフォルトのマッピングは後続の状態が分からない場合があります。HListを指定すると、HMapを取得する方法
2
A
答えて
2
うーん...事は型崩れHMap
が直前進HList
としてではなく、次はあなたが...残念ながらあなたを
import shapeless._
import poly._
val hList = 'omg1 :: 'omg2 :: 'omg3 :: HNil
// lets assume that you want to map Symbols to kv-pairs String -> Int
// hence your HMap will have kv-pairs "omg1" -> 1, "omg2" -> 2...
class BiMapIS[K, V]
implicit val stringToInt = new BiMapIS[String, Int]
object myFoldPolyFunc extends Poly {
implicit def caseSymbol = use(
(hmap: HMap[BiMapIS], elem: Symbol) =>
hmap + (elem.name -> elem.name.last.toString.toInt)
)
}
val hMap = hList.foldLeft(HMap.empty[BiMapIS])(myFoldPolyFunc)
val v1 = hMap.get("omg1")
// Some(1)
val v2 = hMap.get("omg2")
// Some(2)
-3
さらに詳しい情報はなく、HListについての非常に浅い知識に基づいています(私の唯一の認識はList of Tuple2
です)、私はあなたが繰り返し行うことができると思います。可能な擬似コードは次のようになります。
// Presume tuple._1 is the key
val hmap = hlist.map{ tuple => (tuple._1, doSomething(tuple._1))}.toMap
関連する問題
- 1. Slick HLISTから要素を取得する(またはSlick HLIstをシェープレスHListに変換する)
- 2. がHListあるタイプパラメータ、私はこのように、キーとしてHListの種類のtypeTagsでHMAPを作成したいを考えるHListタイプ
- 3. UITextFieldを指定する値を取得または設定する方法は?
- 4. テキストでユーザーが指定したURLを取得する方法
- 5. 指定したユーザーのApplicationUserオブジェクトを取得する方法
- 6. 指定したメッセージラベルを取得する方法は?
- 7. CakePHP:データの取得中にモデルを指定する方法は?
- 8. ArrayListをオブジェクトとして持つHashMapのキー値を取得する
- 9. Tabulaからファイルを取得するディレクトリを指定する方法Java
- 10. C#で指定されたTableAdaptorとSqlDataAdaptorのSQLコマンドオブジェクトを取得する方法
- 11. Circeから基になるHListを取得します
- 12. symfony 2以降のルートオブジェクトを取得する方法を指定します
- 13. 日付を指定すると、データベース内の次の日付と前の日付を取得する方法
- 14. メディア設定を取得する方法
- 15. アンドロイドゲームで指の方向を取得する方法
- 16. cUrlを使用して指定行を取得する方法PHP
- 17. ファイル拡張子を指定してQtアイコン(QIcon)を取得する方法
- 18. Linkedin APIを使用して指定を取得する方法は?
- 19. FirefoxエクステンションでURLを指定してURLを抽出/取得する方法
- 20. 指定されたキーを使用して値を取得する方法は?
- 21. jquery autocompleteラベルを設定する方法と値を取得する方法は?
- 22. 指定座標(OpenGL)でtexture1dの色を取得する方法は?
- 23. phpの文字列で指定文字を取得する方法
- 24. Javaの指定JSONのjsonobjectからアクセストークンの値を取得する方法
- 25. powershellで指定された月の最後の日を取得する方法
- 26. NAnt:コマンドラインで指定されたターゲット名を取得する方法
- 27. audioRecordが指定されたサンプリングレートでデータを取得する方法
- 28. ノードjs内の指定されたURLからドキュメントオブジェクトを取得する方法
- 29. MySql:指定された条件から次のレコードを取得する方法
- 30. Oracleの指定リストから存在しないレコードリストを取得する方法
を始めることができるということです答えは役に立たないでしょう。 –
@SarveshKumarSingh私は、曖昧さと質問そのものの詳細の欠如と、HListとHMapの非常に表面的な知識を考えると、驚くことはありません。しかし、私の答えがどれほど役に立たなかったかを指摘するのではなく、どの部分が役に立たないのかについてより多くの情報を与えることができますか?他の人がもっと知的な答えを与えることができるように。 –
よく...シェイプレスHMapsとHListは、Scalaのリストとマップとはまったく異なります。この特定のケースでは、あなたの答えは、OPをまったく犠牲にしないC++の質問に対してPythonの答えを与えるようなものです。そして、私の意見では、この答えを削除する必要があります。 –