Je dois mettre à jour les clés dans une carte en fonction de certaines conditions. les valeurs ne seront pas modifiées.touches de mise à jour dans scala
J'ai fini avec ce code, mais ne semble pas propre à moi, est-il une meilleure alternative de le faire:
val newOpt = inOpt("type") match {
case "mydb" =>
inOpt map { case (key, value) => (
if (key.contains(XXXX)) {
key.replace("A", "B")
}
else if(...){..}
else {
key
}
, value)
}
}
Toutes les clés mises à jour ainsi que les anciennes clés et les valeurs seront en nouveauOpt.
Cordialement
Pouvez-vous expliquer plus en détail pourquoi vous voulez faire cela? Changer une * clé * dans une «Carte» me semble un peu étrange si vous le faites régulièrement, pourquoi en avez-vous besoin? –
ce n'est pas sur une base régulière, seulement quand jamais nécessaire ... – Garipaso
Au lieu de Map, utilisez la classe de cas, et mettre à jour les valeurs selon le besoin – Jet