【发布时间】:2017-06-06 04:16:16
【问题描述】:
我的程序收到一个 scala 映射,要求是验证这个映射(键值对)。例如:验证键值,将其值更改为可接受的格式等。在极少数情况下,我们会在将映射传递到下层之前更新键。它并不总是需要更新此映射,但只有当我们检测到有任何不受支持的键或值时。但是,我们必须检查所有键/值对。我正在做这样的事情:
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”还是它们是较长字符串的一部分(您使用包含函数)?如果它们是键弦的一部分,那么 Ramesh Maharjan 的独奏很好,否则存在更清洁的方式。
标签: scala apache-spark scala-collections