LINUX.ORG.RU

Scala (вложенаня итерация по List)

 


0

2

Всем привет!

В scala новичек. Подскажите, пожалуйста, как можно проитерироваться по следующей стркутуре:

val a = List( Map( my_field => List(1,2,3,4,5) ) )

Штука типа этой не работает:

for {
  f <- a,
  mf <- f.get("my_field")
} yield {
  for {
    i <- mf
  } yield {
    println(i)
  }
}

Получаю ошибку: value map is not a member of java.io.Serializable

А нужно получить:

1
2
3
4
5



Последнее исправление: djnoob (всего исправлений: 1)

object LotIter {
    def main(args: Array[String]) {
        val a = List (Map ("key" -> List(1,2,3,4,5)))
        a.map (l => l.map {case (key, value) => value.foreach (v => println (v))})
   }
}

например.

Rastafarra ★★★★
()
Последнее исправление: Rastafarra (всего исправлений: 1)
Ответ на: комментарий от djnoob

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

ну и filterKeys никто не отменял.

Rastafarra ★★★★
()
Ответ на: комментарий от djnoob

У тебя Map[String, Any], что ли? Посмотри в сторону shapeless. А лучше пока не смотри, пока не поймешь, что такое статичкская типизация.

cdshines ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.