Я почесал голову энергично, чтобы понять логику, которая производит значение из() операции flatMap:Правильная интерпретация выражения flatmap Scala Map в
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(e => {
| println("e =" + e)
| (e._2)
| })
e =(a,List((1,11), (1,111)))
e =(b,List((2,22), (2,222)))
ys: scala.collection.immutable.Map[Int,Int] = Map(1 -> 111, 2 -> 222)
Println ясно показывает, что flatMap принимает в одном входе из ввода Карта. Итак, e._2 - это список пар. Я не могу понять, что именно происходит после этого!
У меня отсутствует очень важный и тонкий шаг где-то. Пожалуйста, просветите меня.
Разработка через _map_, за которой следует _flatten_, была четкой. Фантастика. Этот момент пропустил меня как-то! Большое спасибо. @soote – Nirmalya