我的程序收到一個斯卡拉地圖,要求是驗證這個地圖(鍵值對)。例如:驗證鍵值,將其值更改爲可接受的格式等。在極少數情況下,我們還會在將地圖傳遞到向下層之前更新密鑰。並不總是需要更新此映射,但只有當我們檢測到有任何不支持的鍵或值時。但是,我們必須檢查所有鍵/值對。我在做一些事情是這樣的:優雅的方式來驗證斯卡拉地圖
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