我有带有输入参数映射的方法接口。我想添加当此映射通过任何字符串键返回相同值时调用此方法。您能帮我定义一个映射,该映射将通过任何字符串键返回相同的值吗?
def test(m: Map[String, Int]): Unit = {
// some logic
}
val m = Map((???, 1))
m("")
res0: Int = 1
m("a")
res0: Int = 1
m("b")
res0: Int = 1
Run Code Online (Sandbox Code Playgroud)
尝试Map为所有缺失的键定义一个带有默认值的空值。
// updated after @Scalway's suggestion
val m = Map.empty[String, Int].withDefaultValue(1)
@ m("")
//res1: Int = 1
@ m("a")
//res2: Int = 1
@ m("asjkdhfk")
//res3: Int = 1
Run Code Online (Sandbox Code Playgroud)
或者如果你想做一些计算:
val m = Map.empty[String, Int].withDefault(k => ???)
Run Code Online (Sandbox Code Playgroud)