Scala для понимания с итерацией карты

Я прошел через кучу кодов и учебных пособий, и я до сих пор не понимаю, как перебрать Карту для понимания.

Например: у меня есть карта. Введите как строку (имя учащегося), а значение - как данные учащегося. Я хочу повторить карту студента в качестве каждого ключа и значения. Как я могу достичь этого через понимание.

Вот код, который я пробовал, но я не смог понять

for {   
  studentMap <- studRepo.getAllStudent()// returns a map
  result1 <- performSomeOper(studentMap.key) // I’m not getting an option to access the key/value
  result2 <- performSomeOper(studentMap.value)
} yield performYieldOps(result1, result2)

Что я здесь не так делаю? Нужно ли держать студенческую карту вне для понимания? Пожалуйста, накорми мне свой вклад.

1 ответ

  for {
    (key, value) <- studRepo.getAllStudent()
    res1 <- performSomeOper(key)
    res2 <- performSomeOper(value)
  } yield ...

Вы можете сопоставить ключ, значение от Map,

а также for comprehension фактический равен flatMap, поэтому для вышеперечисленного равно:

  m.flatMap {
    case (key, value) => ...
  }
Другие вопросы по тегам