К разговору об особенностях языка: многие знают, что for-comprehensions
в Scala - просто синтаксический сахар вокруг map
и flatMap
. Тем не менее, важно помнить, что каждая такая операция - это дополнительная аллокация (а в for-comprehensions
по умолчанию добавляется дополнительный map
в конце). При этом любая декомпозиция объектов (например, for { Dummy(v) <- Some(Dummy(v)) } yield v
) требует наличия метода withFilter
, который не для каждой структуры может быть реализован в принципе.
Устраняет эти проблемы scala-plugin от Олега Пыжова, который часто подключают в проекты по умолчанию.
Больше примеров for-comprehensions
в Scala тут и тут.
>>Click here to continue<<
