2016-09-25 5 views
0

Я пытаюсь улучшить удобочитаемость моего кода, и мне трудно с этим маленьким куском.Синтаксис сглаживания с улучшающейся доходностью кода

Foo это метод, который принимает список [Ping]

Thing.generate возвращает список [пинг]

ListOfPings является Список [пинг]

hasQuality возвращает логическое значение из оценки пинг

Вот код:

foo((for { 
      pinger <- listOfPings 
     } yield pinger.generate.filter(_.hasQuality)).flatten) 

Каждый Ping в listOfPingss создает List [Thing] с помощью метода generate, то есть результатом результата в конце цикла является List [List [Ping]].

Я уплощение, что список [Список [Ping]] (а не отдельные списки), и положить весь результат в обув

У меня возникают проблемы, делая это выглядеть лучше, возможно, с flatmap? Я искренне ценю помощь.

ответ

3

Что-то вроде:

foo { 
    for (p <- listOfPings ; q <- p.generate if q.hasQuality) yield q 
} 
+0

Спасибо за ответ, который работал. – sudom82

 Смежные вопросы

  • Нет связанных вопросов^_^