我的程序收到一个斯卡拉地图,要求是验证这个地图(键值对)。例如:验证键值,将其值更改为可接受的格式等。在极少数情况下,我们还会在将地图传递到向下层之前更新密钥。并不总是需要更新此映射,但只有当我们检测到有任何不支持的键或值时。但是,我们必须检查所有键/值对。我在做一些事情是这样的:优雅的方式来验证斯卡拉地图
private def updateMap (parameters: Map[String, String]): Map[String, String] = {
parameters.map{
case(k,v) => k match { case "checkPool" =>
(k, (if (k.contains("checkPool"))
v match {
case "1" => "true"
case _ => "false"
}
else v))
case "Newheader" => (k.replace("Newheader","header"),v)
case _ =>(k,v)
}
case _ => ("","")
}
}
像这样做验证和转换键/值,以支持那些代码的增加。是否有更简洁的方式在Scala中进行地图验证?
感谢
关键值是否等于“NewHeader”和“checkPool”,还是它们是较长字符串的一部分(使用contains函数)?如果他们是关键字符串的一部分,那么Ramesh Maharjan的解决方案很好,否则存在一种更清晰的方式。 – Shaido