карта, которая будет возвращать то же значение любым ключом строки - PullRequest
1 голос
/ 28 февраля 2020

У меня есть интерфейс метода с картой входных параметров. Я хочу добавить вызов этого метода, когда эта карта будет возвращать то же значение любым ключом String. Не могли бы вы помочь мне определить карту, которая будет возвращать то же значение любым ключом строки?

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

1 Ответ

4 голосов
/ 28 февраля 2020

Попробуйте определить пустое 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

или если вы хотите выполнить какое-либо вычисление:

val m = Map.empty[String, Int].withDefault(k => ???)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...